1

コントローラー アクションで Request オブジェクトにアクセスしたい場合は と書く必要がありHttpContext.Requestますが、MVC ビューで同じオブジェクトにアクセスしたい場合は と書く必要がありますHttpContext.Current.Request。それらの間に違いはありますか?私が直面している問題は、コントローラー アクションで設定した Cookie が、MVC ビューのコレクションでHttpContext.Response.Cookies.Add取得されていないことですが、JavaScript でそれらの Cookie を確認できます。HttpContext.Current.Request.Cookies

4

2 に答える 2

0

私が間違っていない限り、応答に Cookie を書き込みますが、その Cookie は、次の要求が行われるまで要求で使用できません (つまり、同じページまたは新しいページを再度読み込んで読み取りを取得する必要があります)。クッキー)。Cookie は、コントローラーとビューの間で情報を共有するための良い方法ではありません。ViewData または ViewBag を使用する必要があります。

また、すでに何かを出力した後で Cookie に書き込みを行っていないことを確認する必要があります。これは、Response.Write推奨されない理由の 1 つです。

JavaScript が機能する理由は、サーバーではなくクライアントで Cookie を読み取るためです。

于 2013-04-17T14:54:32.230 に答える