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