问一个页面自动刷新问题,实在很迷茫

rocklabzhang 2004-11-28 10:02:41
页面上有一个CheckBox:chk1,他的autopostback属性为true,他默认的.Checked属为false;
现设这个页面自动刷新,周期为10s(通过<meta http-equiv="refresh" content="10">),在一个10s的周期内,我点击了这个这个chk1使其.Checked属性为true,即被选中
现在我想在下一次页面刷新后,这个chk1的.Checked属性仍然为真,即保存页面刷新前的状态,而不是默认的false

原以为实现这个功能很简单,我用了一个Session变量在chk1_CheckedChanged方法中标志chk1是否被选中,以备在下次重载页面中调入这个Session,重新给chk1的.Checked属性赋值,代码如下:

private void chk1_CheckedChanged(object sender, System.EventArgs e)
{
if( chk1.Checked == true )
Session["check1"] = "true";
else
Session.Remove("check1");
}


private void Page_Load(object sender, System.EventArgs e)
{
if( Session["CheckBox1"] != null )
{
chk1.Checked = true;
}
}

对asp.net有所了解的都知道,上面代码的运行结果:
当你选中chk1后使其.Checked==true,再次选中chk1想使其.Checked属性为false时,却发现这个玩艺儿一直是被选中的,再怎么点选它都是选中的,下次重刷页面时也是选中的,原因我就不罗嗦了

我是新手,以前没怎么用过ViewState

请问各位高手,要想实现我上述的点选功能(即自动刷新后保持刷新前chk1的点选状态)到底应该怎么办?
多谢!

...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZT_TJU 2004-11-28
  • 打赏
  • 举报
回复
因为你点击一次他就会刷新一次,不过这样之后不知道你的<meta http-equiv="refresh" content="10">)还能不能管用,我没有试。如果不行就用location.reload()这个函数来实现刷新就行了。
ZT_TJU 2004-11-28
  • 打赏
  • 举报
回复
你要加上if(!Page.IsPostBack )
{ if( Session["CheckBox1"] != null )
{
chk1.Checked = true;
} }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧