2016-09-07 9 views
0

検索、ページング、ソートを使用してMVC4アプリケーションを開発しています。すべて正常に正常に動作します。 Ajax &パーシャルビューを使用して同じアプリケーションを変換しています。 部分的なビューにあるページングコントロールを使用して、検索パラメータ&のソートパラメータを渡すにはどうすればよいですか。今では、フィルタリングされたデータを部分的なビューで読み込むことはできますが、次のページに移動し、検索パラメータを失い、検索フィルタを無視してすべてのレコードを読み込みます。MVC4でAJAXページネーションを使用して検索&ソート

_PartialView.cshtml

で私のページング制御
@Html.PagedListPager(Model, 
         page => Url.Action("AjaxMethod", 
          new 
          { 
           page, 
           searchByUserName = Request.QueryString["searchByUserName"], 
           searchByReaderName = Request.QueryString["searchByReaderName"], 
           searchByReaderType = Request.QueryString["searchByReaderType"], 
           searchByUploadDate = Request.QueryString["searchByUploadDate"], 
           sortBy = Request.QueryString["sortBy"] 
          }), 
         //new PagedListRenderOptions.() { Display = PagedListDisplayMode.IfNeeded, DisplayPageCountAndCurrentLocation = true } 
         PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions(){ HttpMethod = "GET", UpdateTargetId = "divData"}) 
         ) 

....私が行方不明です何を、

答えて

0

を提案してください、私は私が行方不明mは何を知って来て、部分的なビューは、要求を得ません。 QueryStringの値は、ページング制御が検索パラメータを失い、すべてのレコードをロードする理由です。そこで私は_PartialView.cshtmlのページャコントロールを次のように変更しました:

@Html.PagedListPager(Model, 
         page => Url.Action("AjaxMethod", 
          new 
          { 
           page, 
           searchByUserName = ViewBag.searchByUserName, // Request.QueryString["searchByUserName"], 
           searchByReaderName = ViewBag.searchByReaderName, // Request.QueryString["searchByReaderName"], 
           searchByReaderType = ViewBag.searchByReaderType, // Request.QueryString["searchByReaderType"], 
           searchByUploadDate = ViewBag.searchByUploadDate, // Request.QueryString["searchByUploadDate"], 
           sortBy = ViewBag.sortBy // Request.QueryString["sortBy"] 
          }),       
         PagedListRenderOptions.EnableUnobtrusiveAjaxReplacing(new AjaxOptions() 
         { HttpMethod = "GET", UpdateTargetId = "divData", LoadingElementId="divloading" }) 
         )

これらのViewBagオブジェクトは、コントローラのアクションメソッドで初期化されています。 上記の問題に対してこれ以上の解決策をお持ちの方。提案してください。

+0

こんにちはすべて、 誰もこれの代替&良い解決策を提案することはできますか? –

関連する問題