0

投稿アクションが返されたフォームを送信したときに、2つのインデックスアクションの投稿と取得があります。

return RedirectToAction("Index");

編集:

私のgetIndexActionは、検索をサポートし、返されたリストをフィルタリングするためのいくつかのパラメーターを取得できます。このような:

public ActionResult Index(string search = "", long searchItem = 0, long RC = 0, long Page = 1)

ページリストを使用しましたが、DropDownListページごとの行数が表示されます。このドロップダウンフォームを変更するjqueryスクリプトを記述します。送信されたフォームで送信されたときにRedirectTAction 、次のコードのパラメーターが失われました。

[HttpPost]
public ActionResult Index(FormCollection collection, string search = "") {

    long RowCount = 0;
    long.TryParse(string.Format("{0}", collection["RowCount"]), out RowCount);

//More implement

return RedirectToAction("Index", new { RC = RowCount, search = search, searchItem = Id });

では、ポストアクションでURLまたはURLパラメータを取得する方法はありますか?このような状況でのあなたの提案は何ですか?

4

1 に答える 1

1

リダイレクトする前に、RouteValueDictionary ですべてのクエリ文字列パラメーターをキャプチャできます。

var query = new RouteValueDictionary(
    Request
        .QueryString
        .Keys
        .OfType<string>()
        .ToDictionary(key => key, key => (object)Request.QueryString[key])
);
return RedirectToAction("Index", query);

これにより、クエリ文字列パラメーターのみが保持されます。ルート値と POST された値を追加する場合は、それらを結果に連結できます。

于 2012-04-17T10:03:24.543 に答える