2013-07-08 43 views
0

Login.cs定義session["username]"當用戶想要登錄獲得本屆

public static void SetLogin(string username, bool remmember) 
     { 
      HttpContext.Current.Session["username"] = username; 
     } 

,我想在UserPanelController使用session["username"]

public class UserPanelController : Controller 
    { 
     Customer cu; 
     Customer.customer cust; 
     public UserPanelController() 
     { 
      if (Login.ChekLogin()) 
      { 
       cust = cu.Read(int.Parse(Session["username"].ToString())); 
       // error Occur here Session is null 
      } 

     } 
    } 

我無法訪問會話,因爲爲null

回答

5

您似乎試圖在ASP.NET MVC控制器的構造函數中使用Session。這是正常的,它是空的。會話初始化在後面的階段 - 在Initialize方法:

public class UserPanelController : Controller 
{ 
    Customer cu; 
    Customer.customer cust; 

    protected override void Initialize(RequestContext requestContext) 
    { 
     base.Initialize(requestContext); 
     if (Login.ChekLogin()) 
     { 
      cust = cu.Read(int.Parse(Session["username"].ToString())); 
      // error Occur here Session is null 
     } 
    } 
} 

而且你似乎試圖將用戶名轉換爲整數。你確定這是事實嗎?

此外,爲什麼您使用Session來獲取FormsAuthentication已爲您處理的內容?