如何将cookie作为方法参数

时间:2013-07-31 08:21:12

标签: c# asp.net-mvc-3

我在cookie上获得controller,我希望将cookie传递给ChekLogin方法     login.cs ChekLogin上的cookie类型是什么

public ActionResult test()
{
  Login.ChekLogin(Request.Cookies["Account"];
}

checklogin方法

public static bool ChekLogin()// what is type of cookie
{
}

2 个答案:

答案 0 :(得分:8)

Request.Cookies["Account"]会返回HttpCookie,因此您的CheckLogin方法可以将其作为参数:

public static bool ChekLogin(HttpCookie cookie)
{
    if (cookie != null)
    {
        string cookieValue = cookie.Value;
    }
}

当然,如果请求中没有Cookie,Request.Cookies["Account"]将返回null,因此请务必在ChekLogin方法中考虑这一点。

此外,为确保您不会重新发明某些轮子或打开网站以应对安全风险,请务必阅读Forms Authentication in ASP.NET

答案 1 :(得分:1)

一个Cookie的类型为HttpCookie。 (见MSDN

然后,您可以使用account.Value访问其值。

你的方法看起来像

public static bool ChekLogin(HttpCookie account)
{
    //...
}