Vai*_*ain 7 .net c# asp.net session session-variables
我正在构建一个Asp.net应用程序.我需要在会话中保存HashTable.
在页面加载我正在写
 protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
       Session["AttemptCount"]=new Hashtable(); //Because of this line.
    }   
}
这里的问题是,当用户刷新页面时,会话["AttemptCount"]也会刷新.我想知道我应该在哪里申报
Session["AttemptCount"]=new Hashtable();
所以我的看法不会被彻底改变.
编辑在Global.asax中,只要用户打开网站,此会话就会开始.我想仅在用户转到特定页面时才创建此会话.即Login.aspx
Nae*_*raz 16
Session_Start在你的Global.asax中的方法中这样做......
protected void Session_Start(object sender, EventArgs e)
{
    Session["AttemptCount"]=new Hashtable();
}
更新:
然后只需检查会话变量是否存在,如果它不仅创建变量.你可以把它粘在一个房子里,让东西变得更干净......
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");
}
| 归档时间: | 
 | 
| 查看次数: | 28520 次 | 
| 最近记录: |