2011-11-18 11 views
0

Asp.net MVC Razorで検索機能を実装しようとしています。私が奇妙なのは、検索texboxでの価値の検索です(私はこれが欲しいですが、何が起こっているのか知りたいです)。フォーム内の検索テキストボックスの値が保存される方法

後は、HTMLコードである: - :

public ActionResult Search(string query, int? page) 
    { 
     int pageIndex = page ?? 1; 
     ViewBag.query = query; 
     PagedList.IPagedList<Product> PagedProducts = dbStore.Products.Where(p => p.Name.Contains(query)).ToList().ToPagedList(pageIndex, PageSize); 
     return View(PagedProducts); 
    } 

: - - 上記のHTMLコードを共有_Layout.cshtmlすなわちマスターページ上に常駐ここ

   @using (Html.BeginForm("Search", "Home", FormMethod.Get)) 
       { 
        @Html.TextBox("query") 
        <input type="submit" value="Submit" /> 
       } 

は、コントローラのコードですファイル

答えて

1

ModelStateのMSDNの記事は簡潔ですが、最低限ですが、それはModelStateですこれのためにible。

@Html.BeginForm()が処理されると、コントロールには現在のモデルのModelState(該当する場合)の値が入力されます。

アクションメソッドでModelState.Clear()を呼び出して、この動作を無効にして強制的にテキストボックスをクリアすることができます。

+0

私はこれを理解できません。他の例では、私はここに戻ってポストされたフォームの使用を見てきましたが、これは起こりません。 –

+0

また、私はこれを試みましたが、テキストが検索テキストボックスに表示されます –

+0

これは私の知識と矛盾します。あなたの状況を説明するための実例を提供してください。 – Zruty

関連する問題