我的解决方案中有一个静态类,它基本上使用了一个helper / ultility类。
在其中我有以下静态方法:
// Set the user
public static void SetUser(string FirstName, string LastName)
{
User NewUser = new User { Name = String.Format("{0}{1}", FirstName, LastName) };
HttpCookie UserName = new HttpCookie("PressureName") { Value = NewUser.Name, Expires = DateTime.Now.AddMinutes(60) };
}
User是一个包含以下内容的简单类:
String _name = string.Empty;
public String Name
{
get { return _name; }
set { _name = value; }
}
一切正常,直到我尝试编写cookie“PressureName”并从NewUser.Name插入其中的值。从单步执行代码看来,cookie永远不会被写入。
我犯了一个明显的错误吗?我仍然非常喜欢c#,非常感谢任何帮助。
答案 0 :(得分:5)
创建cookie对象不足以将其发送到浏览器。您还必须将它添加到Response对象。
当您使用静态方法时,您无法直接访问页面上下文及其Response
属性。使用Current
属性从静态方法访问当前页面的Context:
HttpContext.Current.Response.Cookies.Add(UserName);