2009-05-23 90 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