我正在构建一个 Asp.net 应用程序。我需要在会话中保存哈希表。
在页面加载时我正在写
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["AttemptCount"]=new Hashtable(); //Because of this line.
}
}
这里的问题是,当用户刷新页面时, session["AttemptCount"] 也会刷新。
我想知道我应该在哪里申报
Session["AttemptCount"]=new Hashtable();
这样我的会话就不会刷新。
EDIT在 Global.asax 中,一旦用户打开网站,此会话就会开始。我只想在用户转到特定页面时创建此会话。即登录.aspx
做在Session_Start
方法在你的全局.asax像这样...
protected void Session_Start(object sender, EventArgs e)
{
Session["AttemptCount"]=new Hashtable();
}
Update:
然后只需检查会话变量是否存在,如果不存在则创建该变量。你可以把它贴在房子里,让事情变得更干净,就像这样......
public Hashtable AttemptCount
{
get
{
if (Session["AttemptCount"] == null)
Session["AttemptCount"]=new Hashtable();
return Session["AttemptCount"];
}
}
然后你就可以打电话到酒店AttemptCount
无论你需要什么地方,就像这样......
public void doEvent(object sender, EventArgs e)
{
AttemptCount.Add("Key1", "Value1");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)