複製問題:清除服務器的驗證消息之前提交
- 創建服務器驗證的ASP.NET MVC 3頁。
- 提交驗證錯誤。
- 服務器驗證錯誤顯示爲紅色。
- 更正驗證錯誤並再次提交,然後成功將 重定向到另一個報告頁面。
- 單擊報告頁面上的「後退」按鈕,仍會在原始表單上顯示驗證錯誤 消息。
用戶在單擊後退按鈕時看到服務器驗證消息而生氣。
- 我不會考慮解決方案來禁用後退按鈕。
- 我不會考慮點擊 後退按鈕來刷新頁面的解決方案。
我會考慮服務器驗證消息在成功提交表單或任何其他有效的解決方案之前消失。
感謝
複製問題:清除服務器的驗證消息之前提交
用戶在單擊後退按鈕時看到服務器驗證消息而生氣。
我會考慮服務器驗證消息在成功提交表單或任何其他有效的解決方案之前消失。
感謝
這裏是清除歷史記錄,以便後退按鈕不會顯示記住頁面的一些方法:http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout
爲了避免看到的驗證消息,我禁用緩存,以便瀏覽器會自動重新加載頁面當用戶點擊後退按鈕。但是,如果頁面先前使用POST
方法提交,用戶會看到表單重新提交警告。要解決這個問題,如果ModelState無效,我使用javascript window.history.back()
將POST
請求更改回以前的GET
請求。
下面是詳細信息...
在控制器創建兩個功能:一個[HttpGet]
屬性和一個與[HttpPost]
屬性。
在HttpPost
版本,添加以下邏輯...
返回一個簡單的查看包含類似下面的JavaScript。
<HTML> <體> <腳本>的window.history。背部(); < /腳本> < /體> </HTML >
在HttpGet
版本,
[OutputCache(NoStore = true, Duration = 0)]
但是您是否仍想要SUBMIT行爲的BACK BUTTON?奇怪 – nalaiqChughtai