コントローラー アクションで Request オブジェクトにアクセスしたい場合は と書く必要がありHttpContext.Request
ますが、MVC ビューで同じオブジェクトにアクセスしたい場合は と書く必要がありますHttpContext.Current.Request
。それらの間に違いはありますか?私が直面している問題は、コントローラー アクションで設定した Cookie が、MVC ビューのコレクションでHttpContext.Response.Cookies.Add
取得されていないことですが、JavaScript でそれらの Cookie を確認できます。HttpContext.Current.Request.Cookies
2090 次
2 に答える
0
私が間違っていない限り、応答に Cookie を書き込みますが、その Cookie は、次の要求が行われるまで要求で使用できません (つまり、同じページまたは新しいページを再度読み込んで読み取りを取得する必要があります)。クッキー)。Cookie は、コントローラーとビューの間で情報を共有するための良い方法ではありません。ViewData または ViewBag を使用する必要があります。
また、すでに何かを出力した後で Cookie に書き込みを行っていないことを確認する必要があります。これは、Response.Write
推奨されない理由の 1 つです。
JavaScript が機能する理由は、サーバーではなくクライアントで Cookie を読み取るためです。
于 2013-04-17T14:54:32.230 に答える