C# 会话变量
我在我的C# 会话变量,c#,asp.net,session-variables,C#,Asp.net,Session Variables,我在我的Global.asax中定义了会话变量,称为user,如下所示 protected void Session_Start(object sender, EventArgs e) { Session["idMap"] = ""; Session["user"] = ""; } 此外,我还有一个asp:Login,在那里我设置了loggedIn protected void lgnMapZone_LoggedIn(object
Global.asax
中定义了会话变量,称为user
,如下所示
protected void Session_Start(object sender, EventArgs e)
{
Session["idMap"] = "";
Session["user"] = "";
}
此外,我还有一个asp:Login
,在那里我设置了loggedIn
protected void lgnMapZone_LoggedIn(object sender, EventArgs e)
{
Session.Abandon();
Session["user"] = lgnMapZone.UserName;
}
我的问题是,当用户自动初始化时,会调用void session\u启动它并删除我的变量,如何解决此问题???您可以在会话\u启动中再次设置变量之前检查变量是否已设置。您可以在会话\u启动中再次设置变量之前检查变量是否已设置。简单: 内部会话\u开始:
if (Session["user"] != "")
// Do something else
else
// Set Session["user"] = "", etc
简单:
内部会话\u开始:
if (Session["user"] != "")
// Do something else
else
// Set Session["user"] = "", etc
Session.about()
销毁会话并触发Session\u oned
事件。当用户注销而不是登录时,应该调用此方法
您可能应该调用Session.Clear()
,它只会在登录时从会话对象中删除所有值(内容)
这将解决您现在遇到的问题。会话。放弃()
将销毁会话,并触发会话ONED
事件。当用户注销而不是登录时,应该调用此方法
您可能应该调用Session.Clear()
,它只会在登录时从会话对象中删除所有值(内容)
这将解决您现在遇到的问题