|
使用ASP.NET,在刷新頁面的時(shí)候會自動觸發(fā)服務(wù)器端的事件。舉個簡單的例子,如:一個注冊頁面,我們填寫完注冊信息之后,如果按F5刷新之后,會自動觸發(fā)到Button事件上,這樣就造成了又注冊了一次的麻煩。
我先前的解決方案:用關(guān)鍵字查詢,如有相同,則提示已有此用戶。
但是這種方案不能在沒有表識的情況下使用,他會重新提交。鑒于此,我尋找了一種新的解決方案,很慶幸,在朋友的提點(diǎn)下,迸發(fā)了這樣的解決方案,肯定有更好的解決方案,不吝賜教。
解決思路:刷新時(shí),捕捉KeyPress,讓他觸發(fā)其他無用的事件。
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");
}
這個“舍車保帥”的方案,能解決刷新自動觸發(fā)事件的解決方案這個小問題,如果誰有更好的方案,希望告訴我一聲,不勝感激!
AspNet技術(shù):ASP.Net防止刷新自動觸發(fā)事件的解決方案,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。