会话变量
本文关键字:变量 会话 | 更新日期: 2023-09-27 18:03:22
我在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_start它被调用和擦除我的变量,我怎么能解决这个??
Session.Abandon()
销毁会话,触发Session_OnEnd
事件。当用户注销而不是登录时,应该调用这个方法。
你可能应该调用Session.Clear()
,它只是在登录时从会话对象中删除所有值(内容)。
这将解决您现在遇到的问题
您可以在Session_Start中再次设置变量之前检查变量是否已设置。
Easy:
在Session_Start:
if (Session["user"] != "")
// Do something else
else
// Set Session["user"] = "", etc