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.
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当用户刷新页面时,会话["AttemptCount"]也会刷新.我想知道我应该在哪里申报
Session["AttemptCount"]=new Hashtable();
Run Code Online (Sandbox Code Playgroud)
所以我的看法不会被彻底改变.
编辑在Global.asax中,只要用户打开网站,此会话就会开始.我想仅在用户转到特定页面时才创建此会话.即Login.aspx
Nae*_*raz 16
Session_Start在你的Global.asax中的方法中这样做......
protected void Session_Start(object sender, EventArgs e)
{
Session["AttemptCount"]=new Hashtable();
}
Run Code Online (Sandbox Code Playgroud)
更新:
然后只需检查会话变量是否存在,如果它不仅创建变量.你可以把它粘在一个房子里,让东西变得更干净......
public Hashtable AttemptCount
{
get
{
if (Session["AttemptCount"] == null)
Session["AttemptCount"]=new Hashtable();
return Session["AttemptCount"];
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以AttemptCount随时随地打电话给物业......
public void doEvent(object sender, EventArgs e)
{
AttemptCount.Add("Key1", "Value1");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28520 次 |
| 最近记录: |