私のケースでは、QueryStringの特定のパラメータがrequest_id
がリダイレクトされたアクションに伝播されていることを確認します。RedirectToAction呼び出しでQueryStringパラメータを伝播する
はFirst
ポストバックが、私はSecond
アクションに渡すたいQueryString
でパラメータを、持っていた、
[HttpPost]
public ActionResult First()
{
////////////////////
// Lots of code ...
////////////////////
return RedirectToAction("Second");
}
今すぐと言う、例えば、私はアクション
First
を持っていると言います。それを行うための1つの方法は、
RedirectToAction
コール自体に
string requestId = Request.QueryString[REQUEST_ID_KEY];
return RedirectToAction("Second", new { REQUEST_ID_KEY = requestId });
を値を渡すことであろう。しかし、私は一連のアクションでこれを行う必要があると私はアクション内の要求ID伝播ロジックを組み込むことが不本意です。これをActionFilter
の中に組み込むと良いでしょうが、ActionFilterからQueryStringにパラメータを追加する方法はわかりません。何か案は?
@ダーリン..知っているだけです。SessionやTempDataに比べてこの実装の利点は何ですか? –
@alok_dida、TempDataはバックグラウンドでセッションを使用します。私のアプリケーションでは個人的にセッションを使用していません。私はステートレスでRESTfulな方法でそれらを設計する方が好きです。だから私はweb.config( ' ')でセッションを無効にしているので、セッションとTempDataは私には当てはまりません。 –
@ダリン..オックス。もう1つの質問(私はあなたの質問の束に苛まれないことを願っています)、私はフォーム認証を使用する1つのアプリケーションを実装しています。私は、ログインしているユーザーの「ユーザーID」をアプリケーションの外部に保持したいと考えています。セッションを使用せずにこのシナリオを実装するにはどうすればよいですか?私はMVC 3を使用しています。 –