ASP.Net防止刷新自动触发事件的解决方案

转载 2006年06月09日 17:48:00
使用asp.net,在刷新页面的时候会自动触发服务器端的事件。举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦。

我先前的解决方案:用关键字查询,如有相同,则提示已有此用户。

但是这种方案不能在没有表识的情况下使用,他会重新提交。鉴于此,我寻找了一种新的解决方案,很庆幸,在朋友的提点下,迸发了这样的解决方案,肯定有更好的解决方案,不吝赐教。

解决思路:刷新时,捕捉KeyPress,让他触发其他无用的事件。

1、捕捉F5事件的JavaScript
window.document.onkeydown = KeyStroke;

function KeyStroke()
{
 var key = event.keyCode;
 
 event.srcElement.releaseCapture();
 if(key == 116)
 {
  document.getElementById("Button1").click();
  event.keyCode=0;
  event.returnValue=false;
 }
}

2、aspx页面放置一个Button

   <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 408px; WIDTH: 0px;" runat="server"
    Text="Button"></asp:Button>

3、Button事件
private void Button1_Click(object sender, System.EventArgs e)
  {
        Response.Write( "You have pressed the key F5");
  }

这个“舍车保帅”的方案,能解决刷新自动触发事件的解决方案这个小问题,如果谁有更好的方案,希望告诉我一声,不胜感激!

 

http://skylaugh.cnblogs.com/archive/2006/06/05/418010.html

ASP.NET GridView 后台绑定行点击行触发SelectedIndexChanged,页面刷新后,只有一页的情况下,事件只触发一次

如题,刚接触asp.net不久,项目需要用到
  • u014727472
  • u014727472
  • 2014年05月24日 22:06
  • 1070

ASP.NET中防止刷新页面造成表单重复提交

方法一、 应为提交是上一次正常提交的表单所以 Request.Form.Get("hiddenTestN")是上一次的数据 永远不可能跟最近取得的数据相同  在Web开发中,必须面对的问题就是表单的...
  • High_Mount
  • High_Mount
  • 2016年04月05日 16:55
  • 4274

asp.net服务器控件的事件是怎样触发的

 1. 事件基本概念   事件是当有动作发生或者状态改变时,类发出的信息或者通知。通常情况下,状态的发生或者改变由用户界面动作初始化,例如,单击按钮,或者由于其他的程序逻辑引起。产生事件的...
  • u011374560
  • u011374560
  • 2014年05月26日 10:31
  • 1080

ASP.NET手动触发页面验证控件事件

开发环境:.NET Framework 3.5.1 sp1 参考文章: http://www.codeproject.com/KB/aspnet/JavascriptValidation.asp...
  • u013430672
  • u013430672
  • 2014年06月11日 14:37
  • 510

重写SwipeRefreshLayout下拉刷新,避免在左右滑动时执行下拉刷新操作

重写SwipeRefreshLayout下拉刷新,避免在左右滑动时执行下拉刷新操作
  • wei11556
  • wei11556
  • 2016年09月24日 23:09
  • 732

js如何实现在监测页面关闭和刷新事件

原文:https://segmentfault.com/q/1010000007685607 有一个需求,当用户在页面中进行刷新和关闭页面的时候显示一个弹框提示用户功能。 于是自己就想到onb...
  • h330531987
  • h330531987
  • 2017年07月18日 17:46
  • 1409

ASP.NET刷新页面的六种方法

第一:  private void Button1_Click( object sender, System.EventArgs e )    {       Response.Redirect...
  • txx9010
  • txx9010
  • 2013年08月08日 10:11
  • 1926

JQuery 自动触发事件

常用模拟 有时候,需要通过模拟用户操作,来达到单击的效果。例如在用户进入页面后,就触发click事件,而不需要用户去主动单击。 在JQuery中,可以使用trigger()方法完成模拟操作。例如可...
  • rrr4578
  • rrr4578
  • 2014年05月29日 14:22
  • 136421

jQuery自动触发事件trigger使用

有时候,需要通过模拟用户操作,来达到点击的效果,例如用户进入页面后 就触发click事件,而无需主动点击。 比如以下代码: body> a href="#" onclick="javasc...
  • itmyhome
  • itmyhome
  • 2015年11月26日 22:34
  • 2934

点击事件的传递/实现下拉刷新/手势检测

点击事件的传递1.DispatchTouchEvent()返回True代表可以分发事件,2.onInterceptTouchEvent()返回False表示不拦截事件,3.onTouchEvent()...
  • ForrestL
  • ForrestL
  • 2015年09月24日 19:12
  • 460
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.Net防止刷新自动触发事件的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)