ASP.Net中防止重新整理自動觸發事件的解決方案

來源:互聯網
上載者:User

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

}

這個“捨車保帥”的方案,能解決重新整理自動觸發事件的解決方案這個小問題,如果誰有更好的方案,希望告訴我一聲,不勝感激!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.