首页 > 代码库 > 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关键字。如下,一个按钮的点击事件可以这样定义。
对应的js函数:
这样即使通过js方法进行交互数据,进了page_load方法了。页面也不会闪烁。
大家都知道,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方法了。页面也不会闪烁。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。