Asp.net开发中的一个问题

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

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

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


ABOUTYOU
浏览 474回答 2
2回答

繁花如伊

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

慕尼黑的夜晚无繁华

ipMessage.InnerHtml="操作成功放到这个button事件中,不用放在page_load事件中或者加个参数判断
打开App,查看更多内容
随时随地看视频慕课网APP