ASP.NET MVCページング-保存現在のクエリパラメータ
-
07-07-2019 - |
質問
私はグリッドとの接触の情報があるページです。
すべての配管についてはあり, 一ができませんでした。ページングには、簡易p Querystringパラメータなどwww.myurl.com/grid?p=3 する第三のページのリポジトリが自動的に取得、権利、データの総数です。サイズは各ページの定義"しかも"やんものクエリ文字列です。
しかし、支援を検索す。しています。の検索語検索のために以q私のQuerystring.なすことができなかった組み合わせ:www.myurl.com/grid?q=tom&p=2 を探索する"tom"を引くと第二のページの結果が得られます。
この問題に向かい、その他q(その他)のパラメータ 月 現在、クエリー文字列の作成方法を教えてくださいケーションの拡大のためにこのようにする必要 保 のパラメータの場合はい"をクリックし2ページ"でニーズになっていくことになるでしょう
www.myurl.com/grid?a=1&b=xyz&q=tom
へ
www.myurl.com/grid?a=1&b=xyz&q=tom&p=2
する方法を教えてください。
解決
聞いて同様の質問です。もしかしたらチェックアウトしたいとし 保存データです。純mvc
以下のコードからコピーされたSteve Sandersonの 書籍
public static class PagingHelpers
{
public static string PageLinks(this HtmlHelper html, int currentPage,
int totalPages, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= totalPages; i++)
{
TagBuilder tag = new TagBuilder("a"); // Construct an <a> tag
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == currentPage)
tag.AddCssClass("selected");
result.AppendLine(tag.ToString());
}
return result.ToString();
}
}
他のヒント
そしてもらう必要がありページのリンクを直接、ユーザが同一のURLが異なる"ページ"。目の前にある、ことりと触れ合うことはコードを描画するページのリンクを掴んで、クエリー文字列から現在のリクエストを変更する"のページに"価値を描画するリンクの使用、修正された文字列になります。
また、このアプローチを重ねてきたに定義することができる新しいルートのための"一覧"ページに含まれる場合に適用されずにページングとソート値です。このように彼らはURLの一部も非常に扱いやすくにコントローラです。
一例を含むソートとページング値以下のようになります:
routes.MapRoute( "List", "{controller}/List/{pageNumber}/{sortBy}/{sortOrder}/{pageSize}", new { action = "List", sortBy = "Id", sortOrder = "Asc", pageNumber = 1, pageSize = 10 }, new { sortBy = @"[A-Za-z0-9+-]*", sortOrder = "Asc|Desc", pageNumber = @"\d{1,6}", pageSize = @"\d{1,6}" });
あなたの"一覧"アクション方式のニーズときの値のデータを扱う。このあたりかごかっていられているので注意が必要である。
別:私も書き【リスト】フィルターの属性を拾これらの値から線の場合のモデルコレクション)を自動的に適用されるソートとページングにOnActionExecuted.このように全ての自分の行動がデータの取得と設定のモデルです。
まで続くの検索値をそれぞれの形態でのセッション。方法に対応した検索はページングでは、まず負荷までanyの値は、セッションから、オーバーライドし、セットのセッションの価値、必要な場合)をquerystringは形パラメータによってであるかどうか取得します。このようになって気にページングコードなどの検索条件でだけを使用して格納されています。したい場合は新しい検索の値を検索ボックスに検索を行うフィルタを用い--ボタンを開始するとの結果からページ1.