簡體   English   中英

如何禁用瀏覽器提示以確認ASPX頁面中的頁面刷新?

[英]How to disable browser prompt to confirm page refresh in an ASPX page?

我有一個aspx頁面,顯示在Windows應用程序的內部(在WebBrowser控件內部)。 在特定條件下,Windows應用程序在WebBrowser上發出重新加載,這導致顯示以下提示:

在此處輸入圖片說明

現在,此頁面僅顯示報告,並且此提示完全不合時宜,並且實際上對最終用戶有刺激性。 我嘗試將aspx表單方法更改為GET而不是POST,因為此提示似乎只出現在具有表單數據的頁面上,但這破壞了頁面的功能。
我現在不知所措,如何禁止顯示此提示?
我可以捕獲一個事件來幫助抑制此消息嗎?

編輯:有關方案的更多細節:我正在使用的此aspx頁面具有選項卡和單選按鈕作為服務器端HTML控件。 通過嵌入在頁面中的隱藏字段來維護其狀態。 一旦設置了隱藏字段的值並提交了aspnet表單,瀏覽器即會開始檢測任何刷新作為重新提交並顯示對話框。 我已經解決了這個問題,答案中有細節

此提示可能是PRG模式( http://en.wikipedia.org/wiki/Post/Redirect/Get )的副作用,其目的是避免重復發布數據。

您可能對要發布到的URL進行了重定向。

在瀏覽器調試器中(如果可能,請使用Firebug以獲得最大的詳細信息),檢查網絡請求並查找301/302/303類型的請求。

實際上,您不會贏得更改此功能的機會(我認為也許可以在IE的選項上進行更改,但不能在其他瀏覽器上進行更改),但是您需要更改制作報告的方式。

而不是在單擊按鈕並回發后創建報告,而是嘗試在url中添加參數,閱讀此參數並生成報告。

因此,無需發回郵件,也無需重新加載此消息。

解決問題的方法如下:

如我對問題的編輯中所述,隱藏字段的值更改和隨后的表單提交使瀏覽器(正確地)標記為頁面已提交。
現在,我們已將form.submit()更改為類似於以下內容的jQuery $ .post():

$.post(myForm.action, request, function(d) {
                        // Callback function that uses the returned response data d
                        // to extract the html and render the page again after completion
                        // of the Ajax request
                    });

request:JSON對象是否包含維持控件狀態的key:value對

注意:在aspx頁面的Page_Load()方法中,需要通過從HttpContext的Request對象讀取隱藏字段的值來設置它們的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM