在.aspx页面上有这样一个标签<div id="tipMessage" runat="server"></div>,当点击一个服务器控件,比如说Button后,我在.cs页面中用这样一段代码提示操作结果:tipMessage.InnerHtml="操作成功!<script type='text/javascript'>这里面的JS代码的作用就是等待一定时间后,将tipMessage里面的内容清空</script>"。
可我发现,如果以前已经执行了代码tipMessage.InnerHtml......的话,页面上能显示出“操作成功!”的提示信息,这个信息也能定时消失。但以后随便单击一个服务器控件(这个控件在cs中不会执行tipMessage.InnerHtml......代码),页面上都会出现“操作成功!”,它也会定时消失。
我估计这跟PostBack,但不知道怎么解决?
谢谢大家!
定时消失时肯定的,因为页面的JavaScript在页面刷新的时候会执行一次,但是你随机单击任何其他服务器控件的时候,页面会刷新,JavaScript是动态执行的,因此之前的JavaScript执行结果会无效,但是你的tipMessage因为在服务器端(单击其他的控件没有影响此div值),所以赋值“操作成功”是不变的,因此还是会输出到页面,所以这时就算你其他控件什么的不执行,tipMessage也会输出“操作成功”,因此必须在Page_Load事件中清空tipMessage.InnerHtml。
在Page_Load事件中清空tipMessage.InnerHtml......
把断点放到Page_load的第一行,和第个单击事件的第一行也放上断点,走一下就明白了。
是不是ispostback的原因?
清理缓存...Response.Expires=0;就可以了。
tipMessage.InnerHtml="操作成功
放到这个button事件中,不用放在page_load事件中或者加个参数判断