2009-05-23 83 views
2

我在我的解决方案中有一个静态类,基本上使用助手/通用类。从静态类写入一个cookie

在这里面,我有以下静态方法:

// 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) };  

    } 

用户是一个简单的类,它包含:

String _name = string.Empty; 

    public String Name 
    { 
     get { return _name; } 
     set { _name = value; } 
    } 

一切工作,直到在那里我尝试写cookie中的点“PressureName “并从NewUser.Name中插入值。从单步执行代码看来,cookie从未被写入。

我是否犯了一个明显的错误?我仍然非常业余在C#和任何帮助将不胜感激。

回答

5

创建cookie对象不足以将其发送到浏览器。您还必须将其添加到Response对象。

由于您处于静态方法中,因此您无法直接访问页面上下文并且它的属性为Response。使用Current属性从静态方法访问当前页面的上下文:

HttpContext.Current.Response.Cookies.Add(UserName); 
+0

谢谢主席先生,我感谢帮助! – Strategon 2009-05-23 15:51:51