首页 > 代码库 > ASP.NET—012:避免页面刷新造成的闪烁问题

ASP.NET—012:避免页面刷新造成的闪烁问题

本文继续说一个常识问题。
大家都知道,ASP.NET页面都有一个page_load事件。当页面第一次加载时都会执行这个事件。而细心的童鞋肯定也发现,当给页面上的控件注册事件后,执行这个控件的事件时也会执行这个page_load。也就是说每点击一次事件都会刷新一次页面,造成页面闪烁。这样的效果是不好的。
那么如何避免这个问题呢,当然是靠javascript了,以及高级一点的jQuery等。
一般ASP.NET页面必然要配合javascript来实现功能了。页面控件的事件最好都用javascript来实现,然后通过javascript来完成也后台的数据传递,至于如何传递请参见jQuery.JS和ajax.等。前面也提到过两个方法 $.ajax和$.post两个方法实现前后台交互。
还有个小细节就是,在控件的事件中使用return关键字。如下,一个按钮的点击事件可以这样定义。
 
<asp:Button ID="button1" runat="server" Text="页面点击" OnClientClick="return buttonClientClick();" />

对应的js函数:
       function buttonClientClick() {
          //业务
          //是$.ajax或者$.post,以及其他方式和后台交互
          return false;
      }
重点就是调用函数时加上return,然后函数中记得返回 return false;
 这样即使通过js方法进行交互数据,进了page_load方法了。页面也不会闪烁。