1

Razor が有効になっているアプリケーションと、次のようなサービスがあります。

public object Post(SelectTerminalRequest request)
{
    var location = base.Request.AbsoluteUri.CombineWith(request.TerminalId, "/flights");
    if (Request.Cookies.ContainsKey("Terminal"))
    {
        Request.Cookies.Remove("Terminal");
    }
    Request.Cookies.Add("Terminal",
        new Cookie("Terminal", request.TerminalId.ToString()) 
            { Expires = DateTime.Now.AddYears(1) });
    return new HttpResult(HttpStatusCode.Redirect)
    {
        Location = location
    };
}

ただし、Razor ビューでその Cookie にアクセスしようとすると、空になります。

@{
     Cookie cookie;
     Request.Cookies.TryGetValue("Terminal", out cookie);
     var baseUri = Request.GetApplicationUrl() + "/terminals";
     var redirectUrl = cookie != null ? baseUri + "/" + cookie.Value + "/flights" : baseUri;
 }

Cookie を参照すると、次のものが表示されませんTerminal

ここに画像の説明を入力

4

1 に答える 1

4

あなたはこれのために自分を蹴るでしょう、私は確信していますが、クッキーを追加する必要があります 、オブジェクトResponseを使用しました。Request:) 私もそれをやったので心配しないでください!

Response.SetCookie("Terminal", request.TerminalId.ToString());
于 2014-06-20T15:03:07.970 に答える