[英]how to refresh parent aspx page from popup window without security prompt
[英]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.