所以我有一个
<asp:label ... >
我想隐藏在用户访问我们网站上的3个页面之后.所以我在master.cs页面上使用了page_load来创建会话
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
createSession();
pageCounter.Text = Session["PagesViewed"].ToString();
return;
}
Session["PagesViewed"] = ((int)Session["PagesViewed"] + 1);
pageCounter.Text = Session["PagesViewed"].ToString();
}
protected void createSession()
{
Session["PagesViewed"] = 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码编译并测试出来,我设置了一个标签作为计数器,所以我可以看到它正常工作.问题是,每次都是0.它不会增加.我不确定我的错误在哪里.
每次页面首次加载时,您的函数CreateSession都会将值重置为0.
这可能应该在你的会话开始.
或者在设置之前检查它是否存在:
protected void createSession()
{
if(Session["PagesViewed"] == null)
{
Session["PagesViewed"] = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |