2011-07-25 309 views
0

這可能是每個WebForms開發人員的一個簡單問題,但我知道這個場景。我有一個頁面上有一個「添加」按鈕,導致一個jQuery的彈出窗口,用戶可以提交一個表單,將一個條目添加到頁面上的中繼器。我的問題是,用戶添加一個項目後,如果他們然後點擊刷新按鈕,該項目將再次添加。我無法用page.ispostback來阻止它,因爲這會阻止原始添加。我能在這裏做什麼?Webforms刷新問題

+0

你的意思是在原保存中設置一個bool,然後來回傳遞並每次檢查它? – esastincy

回答

3

這是一個常見問題。以下是問題的解釋和解決方案。

當通過HTTP POST請求將Web表單提交給服務器時,嘗試刷新某些用戶代理中的服務器響應的Web用戶可能會導致原始HTTP POST請求的內容被重新提交,可能會導致意外結果,例如重複的網上購物。 爲避免此問題,許多Web開發人員使用PRG(Post/Redirect/Get)模式。

從維基(LINK

簡單的解決方案複製可以Response.Redirect到同一頁(即如果頁面命名爲default.aspxResponse.Redirect("default.aspx"))。如果你這樣做瀏覽器刷新按鈕將只是加載頁面,就好像你已經輸入地址欄網址並導航到它。

這裏是SO問題How to stop unwanted postback也可能有用。

0

如果有一個選項可以刪除頁面上的某個項目(是否存在?),那麼您是否真的需要關注這個問題?可能想考慮一下。只是一個想法。