欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.Net中防止刷新自动触发事件的解决方案】,下面是详细的讲解!
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");
}
这个“舍车保帅”的方案,能解决刷新自动触发事件的解决方案这个小问题,如果谁有更好的方案,希望告诉我一声,不胜感激!
关于ASP.Net中防止刷新自动触发事件的解决方案的用户互动如下:
相关问题:asp.net防止重复提交、重复刷新、后退页面过期的几...
答:简单操作方法防后退和刷新Page_Load中加入Response.Cache.SetNoStore();//Session中存储的变量“IsSubmit”是标记是否提交成功的if (!IsPostBack)if (Session["IsSubmit"]==null)Session.Add("IsSubmit",false);if ((bool)Session["IsSubmit"]){//... >>详细
相关问题:asp.net(c#) 怎么避免刷新后 又触发了一次按钮事件
答:虽然在Page_Load事件中用IsPostBack判断下,然后将resultBtn_Click方法加入EventHandler中去可以实现,但是我不推荐这种方法 我觉得在前台用javascript就可以了,不必用.net控件,用简单的html表单控件就可了,比如: 然后用javascript function tc() ... >>详细
相关问题:asp.net防止重复提交、重复刷新、后退页面过期的几...
答:Asp.net中防刷新重复提交、防后退方法 简单操作方法防后退和刷新 Page_Load中加入 Response.Cache.SetNoStore(); //Session中存储的变量“IsSubmit”是标记是否提交成功的 if (!IsPostBack) if (Session["IsSubmit"]==null) Session.Add("IsSubmit... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
