程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.Net中防止刷新自動觸發事件的解決方案

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

這個“捨車保帥”的方案,能解決刷新自動觸發事件的解決方案這個小問題,如果誰有更好的方案,希望告訴我一聲,不勝感激!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved