您好,登錄后才能下訂單哦!
小編給大家分享一下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" 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"); }
如果有一個網站上的圖片的路徑是這樣的: http://localhost:2008/websit1/images/1.jpg
websit1表示的是虛擬路徑或者是站點
在asp.net中,如果我們在.cs頁面中輸入 Response.Write(Request.MapPath("/01.jpg"));
這可以輸出圖片的物理路徑 也就是這張圖片在服務器上存放的具體路徑
HTML中的相對路徑
復制代碼代碼如下:
< img src=" ../01.jpg"> ../ 表示切換到上一級目錄 http://localhost:2008/01.jpg < img src=" ./01.jpg"> ./或者 不填 表示當前路徑 http://localhost:2008/websit1/01.jpg < img src=" /01.jpg"> / 表示根目錄 返回的是網站的根目錄 http://localhost:2008/01.jpg
而 ~/ 只能在asp.net中使用 而且是只能在服務器控件中使用。
看完了這篇文章,相信你對“ASP.Net怎么防止刷新自動觸發事件”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。