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方法了。页面也不会闪烁。

ASP.NET—012:避免页面刷新造成的闪烁问题,布布扣,bubuko.com

时间: 2024-10-09 23:32:13

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

asp.net 防止页面刷新或后退引起重复提交

 项目中经常遇到刷新后重复的向数据库增加一条相同的记录,造成数据重复,如何规避这些问题呢?下面我们就一起讨论一下在asp.net怎样防止页面刷新或后退引起重复提交数据的问题: 其实asp.net防止刷新是asp.net开发中经常遇到的问题.通常有多种方法来实现:(下面只是个人总结的一些方法)不全,也很希望朋友们能多多补充.谢谢. 1:请求转发(即在数据提交操作后立即转跳到其他页面,防止页面刷新引起回发操作) 2:不保存缓存 Response.Cache.SetNoStore(); (即提交后表单

ASP.NET页面刷新的实现方法总结

先看看ASP.NET页面刷新的实现方法: 第一: C#代码   private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Request.Url.ToString( ) ); } 第二: C#代码   private void Button2_Click( object sender, System.EventArgs e ) { Response.Write( " < scri

asp.net网站防恶意刷新的Cookies与Session解决方法

本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷冰冻时间间隔,当前为1秒 #region 防恶意刷新 if (Session.SessionID == null) {   Response.End(); } else if (Session["sion

js中页面刷新和页面跳转的方法总结 [ 转自欢醉同学 ]

.js中cookie的基本用法简介 2009-12-15 js中页面刷新和页面跳转的方法总结 文章分类:Web前端 关键字: javascript js中页面刷新和页面跳转的方法总结 1.history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forward()返回下一页 4. window.history.go(返回第几页,也可以使用访问过的URL) 例: <a href="javascri

学习ASP.NET MVC(七)——我的第一个ASP.NET MVC 查询页面

在本篇文章中,我将添加一个新的查询页面(SearchIndex),可以按书籍的种类或名称来进行查询.这个新页面的网址是http://localhost:36878/Book/ SearchIndex.该页面中用一个下拉框来显示种类,用一文本框让用户输入书籍的名称.当用户在点击“查询”按钮之后,页面会被刷新,显示用户的查询结果.控制器会根据用户提交查询参数,由动作方法(Action Motehd)去解析用户提交的参数值,并使用这些值来查询数据库. 第一步,创建SearchIndex查询页面    

访问asp网站时,页面上显示请求的资源在使用中

服务器生产环境: 操作系统:WIN2003 WEB:IIS 6.0 问题过程: 9月7日上午8:40左右,科研处长发现他们的网站无法登录,网上留言了我,当我进一步了解情况时,发现还有几个二级网站出现如下情况: 浏览器访问asp网站时,页面上显示请求的资源在使用中:有的ASP网站又可以正常访问,这就带来了一些困难,不知所措,到底发生了什么原因?如果在网上搜集一下,说一大堆原因,实际上一一测试,但无法解决. 此时此刻,心理非常紧张,又在抓紧时间进一步分析,如何解决此次网站运行故障. 通过以下设置,可

js在一定时间内跳转页面及各种页面刷新

1.js 代码: <SCRIPT LANGUAGE="JavaScript"> var time = 5; //时间,秒 var timelong = 0; function diplaytime(){ //时间递减 document.all.his.innerHTML = time -timelong ; timelong ++; } function redirect(){ //跳转页 //history.back(); window.location.href=&qu

使用一个HttpModule拦截Http请求,来检测页面刷新(F5或正常的请求)

在Web Application中,有个问题就是:“我怎么来判断一个http请求到底是通过按F5刷新的请求还是正常的提交请求?” 相信了解ASP.NET的人知道我在说什么,会有同感,而且这其实不是一个很easy的问题.那是因为HTTP协议无状态的特性不允许请求之间保持状态. 我想大多数人关注这个问题是因为,页面post的时候或之后,不想浏览器重复提交. 所以问题可以简化为:“我怎么来判断一个POST请求到底是由F5按钮触发的还是正常的页面交互?” 幸运的是,这时候DOM的一个简单细节可以用来解决

javascript refresh page 几种页面刷新的方法

Javascript刷新页面的几种方法:1    history.go(0) 2    location.reload() 3    location=location 4    location.assign(location) 5    document.execCommand('Refresh') 6    window.navigate(location) 7    location.replace(location) 8    document.URL=location.href 自动