0

私は見解を持っています:

@{
   RouteValueDictionary tRVD = new RouteValueDictionary(ViewContext.RouteData.Values);
   foreach (string key in sQS.Split('&'))
   {
       var itemArr = key.Split('=');
       tRVD[itemArr[0]] = itemArr[1];
   }
   tRVD["dtLastRequest"] = item.dtLastRequest;
   tRVD["uiSubscription"] = item.uiSubscription;
   tRVD["area"] = "";

}

@Html.Action("Count", "Search", tRVD)

15個のキーと値を使用してRouteValueDictionaryを生成し、それをアクション「カウント」、コントローラー「検索」に渡します。

このコードを書いた前のプログラマーはわかりませんが、コントローラーのアクションコードがいっぱいであるか、Request.QueryStringで機能しますが、現在、QueryStringは空です。

tRVDをQueryStringとしてアクション"Count"に渡すことは本当に可能ですか?今、私はから値を得ることができました:

RouteData.Values 

キーと値はありますが、以前のコーダーのコードを変更して、すべてをQueryStringからRouteDataに書き直したくありません。

4

1 に答える 1

1

Countアクションメソッドは、通常のリクエストを使用せずに実際に呼び出され、アクションのパラメータをURLで指定しますが、フレームワーク内で直接呼び出され、RouteDataオブジェクトのパラメータを保持するため、クエリ文字列は空です。

RouteDataしたがって、書いたように、を使用してパラメータにアクセスする必要があります。

于 2012-08-20T17:11:38.230 に答える