当用户想要登录时,我在session["username]"
中定义Login.cs
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
答案 0 :(得分: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已经为你处理过的东西?