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

使用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");
 }

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

时间: 2024-08-20 18:07:33

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

ASP.Net防止刷新自动触发事件的解决方案_实用技巧

使用asp.net,在刷新页面的时候会自动触发服务器端的事件.举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦. 我先前的解决方案:用关键字查询,如有相同,则提示已有此用户. 但是这种方案不能在没有表识的情况下使用,他会重新提交.鉴于此,我寻找了一种新的解决方案,很庆幸,在朋友的提点下,迸发了这样的解决方案,肯定有更好的解决方案,不吝赐教. 解决思路:刷新时,捕捉KeyPress,让他触发其他无用的事件.

ASP.Net中防止刷新自动触发事件的解决方案_实用技巧

使用asp.net,在刷新页面的时候会自动触发服务器端的事件.举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦. 我先前的解决方案:用关键字查询,如有相同,则提示已有此用户. 但是这种方案不能在没有表识的情况下使用,他会重新提交.鉴于此,我寻找了一种新的解决方案,很庆幸,在朋友的提点下,迸发了这样的解决方案,肯定有更好的解决方案,不吝赐教. 解决思路:刷新时,捕捉KeyPress,让他触发其他无用的事件.

JQuery自动触发事件的方法_jquery

本文实例讲述了JQuery自动触发事件的方法.分享给大家供大家参考.具体如下: 常用模拟 有时候,需要通过模拟用户操作,来达到单击的效果.例如在用户进入页面后,就触发click事件,而不需要用户去主动单击. 在JQuery中,可以使用trigger()方法完成模拟操作.例如可以使用下面的代码来触发id为btn的按钮的click事件. $('#btn').trigger("click"); 这样,当页面加载完毕后,就会立刻输出想要的效果.也可以直接简写click(),来达到同样的效果:

jQuery如何使用自动触发事件trigger_jquery

有时候,需要通过模拟用户操作,来达到点击的效果,例如用户进入页面后 就触发click事件,而无需主动点击. 比如以下代码: <body> <a href="#" onclick="javascript:document.getElementById('d').innerHTML='x1'">点击1</a> <a href="#" onclick="javascript:document.getE

JQuery自动触发事件的方法

 常用模拟 有时候,需要通过模拟用户操作,来达到单击的效果.例如在用户进入页面后,就触发click事件,而不需要用户去主动单击. 在JQuery中,可以使用trigger()方法完成模拟操作.例如可以使用下面的代码来触发id为btn的按钮的click事件. $('#btn').trigger("click"); 这样,当页面加载完毕后,就会立刻输出想要的效果.也可以直接简写click(),来达到同样的效果: $('#btn').click(); 触发自定义事件 trigger()方法不

asp.net防止刷新重复提交数据解决方法的分析

在Asp.net开发中,浏览器刷新重复触发事件,导致重复提交的问题,下面有几种解决方法,我针对适用情况和利弊做一个简单的分析. 方法一:检测数据表,看是否有相同的数据.这种方法对插入数据可能意义更大些,不过如何定义是相同的数据,是个麻烦的事.同时,如果不是插入数据,是删除呢,就不适用了. 方法二:提交后,转向一个过渡页面,然后再从过渡页面返回到当前的页面.这就要求在提交后,要把当前页面的URL地址作为参数传过去,同时不能保存缓存,否则"后退"带来不良后果.不过,如果是简单的删除,似乎转

winform程序button控件未设置任何热键,为何还可通过热键触发事件

问题描述 winform窗体中的某个按钮,没有定义任何热键但是在程序处理逻辑将该按钮的enabled属性设置为false后,偶然情况下,客户拍了下键盘,居然触发了该按钮事件可以保证1.该按钮的单击事件没有任何其他地方触发,也就是说只有用鼠标单击该按钮才可触发2.整个窗体及其他控件都未设置过热键3.按钮的enabled属性为false,并不存在处理逻辑失误导致enabled属性为true,由客户点击按钮造成触发事件4.客户机上未运行其他任何程序求各位大神解答,谢谢 解决方案 本帖最后由 ilove

最近有点混乱,socket.sendasync=false是如何触发的?有必要在这步进行事件处理吗?还是等待下次sendasync=ture时触发事件?

问题描述 我被这个方法弄得有点晕看msdn,它返回false时不会触发事件,所以我工作上看到一些代码里有手动调用处理结果(iocompleted时)的事件但是我看很多高性能代码,里面都不用手动调用事件,而是让数据继续发送,等待异步结果.弄得我现在有点搞混了,这个false怎么触发,有必要在触发时去做调用事件吗?还是继续传输等待就可以了?我现在怀疑我工作上看的那些代码(也就是手动调completed事件的),似乎会出现多线程的问题,导致出现一些误报的异常.但是对这个方法不熟悉,弄得一头烟. 解决方

input text 触发事件问题

问题描述 我现在做了一个inputtext既可以选择,又可以自己输入的.现在我要实现的是当text内容发生变化了,我要判断它的内容,触发一个事件.请问要用什么方法? 解决方案 解决方案二:onkeyup解决方案三:你确定要做成当text的内容发生变化时就要触发事件么?那你进行输入的时候是不是每输入一个,就得触发一次事件呢?不建议你这样做.你还是做成当光标离开text的时候才触发事件吧解决方案四:我还是把我的代码贴出来跟大家交流一下吧!js:functiontxtChang(){vartd_oth