ASP.Net中防止刷新自動(dòng)觸發(fā)事件的解決方案
更新時(shí)間:2007年03月07日 00:00:00 作者:
使用asp.net,在刷新頁(yè)面的時(shí)候會(huì)自動(dòng)觸發(fā)服務(wù)器端的事件。舉個(gè)簡(jiǎn)單的例子,如:一個(gè)注冊(cè)頁(yè)面,我們填寫(xiě)完注冊(cè)信息之后,如果按F5刷新之后,會(huì)自動(dòng)觸發(fā)到Button事件上,這樣就造成了又注冊(cè)了一次的麻煩。
我先前的解決方案:用關(guān)鍵字查詢(xún),如有相同,則提示已有此用戶(hù)。
但是這種方案不能在沒(méi)有表識(shí)的情況下使用,他會(huì)重新提交。鑒于此,我尋找了一種新的解決方案,很慶幸,在朋友的提點(diǎn)下,迸發(fā)了這樣的解決方案,肯定有更好的解決方案,不吝賜教。
解決思路:刷新時(shí),捕捉KeyPress,讓他觸發(fā)其他無(wú)用的事件。
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è)“舍車(chē)保帥”的方案,能解決刷新自動(dòng)觸發(fā)事件的解決方案這個(gè)小問(wèn)題,如果誰(shuí)有更好的方案,希望告訴我一聲,不勝感激!
我先前的解決方案:用關(guān)鍵字查詢(xún),如有相同,則提示已有此用戶(hù)。
但是這種方案不能在沒(méi)有表識(shí)的情況下使用,他會(huì)重新提交。鑒于此,我尋找了一種新的解決方案,很慶幸,在朋友的提點(diǎn)下,迸發(fā)了這樣的解決方案,肯定有更好的解決方案,不吝賜教。
解決思路:刷新時(shí),捕捉KeyPress,讓他觸發(fā)其他無(wú)用的事件。
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è)“舍車(chē)保帥”的方案,能解決刷新自動(dòng)觸發(fā)事件的解決方案這個(gè)小問(wèn)題,如果誰(shuí)有更好的方案,希望告訴我一聲,不勝感激!
您可能感興趣的文章:
- asp防止刷新功能實(shí)現(xiàn)代碼
- ASP.Net防止刷新自動(dòng)觸發(fā)事件的解決方案
- 用Asp如何實(shí)現(xiàn)防止網(wǎng)頁(yè)頻繁刷新?
- asp.net防止刷新時(shí)重復(fù)提交(可禁用工具條刷新按鈕)
- Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法
- ASP.NET防止頁(yè)面刷新的兩種解決方法小結(jié)
- php環(huán)境下利用session防止頁(yè)面重復(fù)刷新的具體實(shí)現(xiàn)
- php防止網(wǎng)站被刷新的方法匯總
- PHP防止刷新重復(fù)提交頁(yè)面的示例代碼
- php采用session實(shí)現(xiàn)防止頁(yè)面重復(fù)刷新
- ASP.NET中防止頁(yè)面刷新造成表單重復(fù)提交執(zhí)行兩次操作
相關(guān)文章
asp.net和ajax實(shí)現(xiàn)智能搜索功能代碼
近來(lái)一直在開(kāi)發(fā)股票模擬系統(tǒng),終于告一段落了,回想起來(lái)感慨很多。突然想應(yīng)該做點(diǎn)總結(jié)了,想來(lái)想去還是覺(jué)得通過(guò)寫(xiě)點(diǎn)日志來(lái)把相關(guān)的知識(shí)點(diǎn)記錄下來(lái),下面就我在項(xiàng)目中經(jīng)常用到的動(dòng)態(tài)提示搜索選項(xiàng)功能的實(shí)現(xiàn)。2010-03-03詳解CentOS 7.4下如何部署Asp.Net Core結(jié)合consul
這篇文章主要介紹了詳解CentOS 7.4下如何部署Asp.Net Core結(jié)合consul,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之登錄、驗(yàn)證和注銷(xiāo)管理員篇1(六)
這篇文章主要介紹了ASP.NET MVC5網(wǎng)站開(kāi)發(fā)之管理員登錄、驗(yàn)證和注銷(xiāo),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08ASP.Net MVC+Data Table實(shí)現(xiàn)分頁(yè)+排序功能的方法
這篇文章主要介紹了ASP.Net MVC+Data Table實(shí)現(xiàn)分頁(yè)+排序功能的方法,結(jié)合實(shí)例形式分析了asp.net基于mvc架構(gòu)實(shí)現(xiàn)的數(shù)據(jù)查詢(xún)、排序、分頁(yè)顯示等相關(guān)操作技巧,需要的朋友可以參考下2017-06-06從外部的js文件中獲取ASPX頁(yè)面的控件ClientID
從外部的js文件中獲取ASPX頁(yè)面的控件ClientID(get control reference from external javascript)2009-02-02使用HttpClient消費(fèi)ASP.NET Web API服務(wù)案例
這篇文章介紹了使用HttpClient消費(fèi)ASP.NET Web API服務(wù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10