首页 新闻 会员 周边 捐助

Asp.net开发中的一个问题

0
悬赏园豆:10 [已解决问题] 解决于 2010-10-07 17:44

在.aspx页面上有这样一个标签<div id="tipMessage" runat="server"></div>,当点击一个服务器控件,比如说Button后,我在.cs页面中用这样一段代码提示操作结果:tipMessage.InnerHtml="操作成功!<script type='text/javascript'>这里面的JS代码的作用就是等待一定时间后,将tipMessage里面的内容清空</script>"。

可我发现,如果以前已经执行了代码tipMessage.InnerHtml......的话,页面上能显示出“操作成功!”的提示信息,这个信息也能定时消失。但以后随便单击一个服务器控件(这个控件在cs中不会执行tipMessage.InnerHtml......代码),页面上都会出现“操作成功!”,它也会定时消失。

我估计这跟PostBack,但不知道怎么解决?

谢谢大家!

JeffLiang的主页 JeffLiang | 初学一级 | 园豆:43
提问于:2010-09-29 21:18
< >
分享
最佳答案
0

定时消失时肯定的,因为页面的JavaScript在页面刷新的时候会执行一次,但是你随机单击任何其他服务器控件的时候,页面会刷新,JavaScript是动态执行的,因此之前的JavaScript执行结果会无效,但是你的tipMessage因为在服务器端(单击其他的控件没有影响此div值),所以赋值“操作成功”是不变的,因此还是会输出到页面,所以这时就算你其他控件什么的不执行,tipMessage也会输出“操作成功”,因此必须在Page_Load事件中清空tipMessage.InnerHtml。

收获园豆:5
dodohua | 小虾三级 |园豆:1037 | 2010-09-30 08:28
其他回答(5)
0

在Page_Load事件中清空tipMessage.InnerHtml......

收获园豆:4
竹迹 | 园豆:209 (菜鸟二级) | 2010-09-30 07:48
0

把断点放到Page_load的第一行,和第个单击事件的第一行也放上断点,走一下就明白了。

收获园豆:1
Astar | 园豆:40805 (高人七级) | 2010-09-30 09:28
0

是不是ispostback的原因?

顾晓北 | 园豆:10898 (专家六级) | 2010-09-30 09:55
0

清理缓存...Response.Expires=0;就可以了。

费里曼 | 园豆:493 (菜鸟二级) | 2010-10-04 09:43
0

tipMessage.InnerHtml="操作成功

放到这个button事件中,不用放在page_load事件中或者加个参数判断

慧☆星 | 园豆:5722 (大侠五级) | 2010-10-04 19:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册