2010-12-21 24 views

回答

4

這取決於瀏覽器爲獲取當前數據所做的最後一次調用。例如:

a)如果您提交表單,執行POST然後點擊刷新,瀏覽器將執行另一個POST。 b)如果你只是點擊一個鏈接,帶你到另一個頁面,執行一個GET,你將刷新將執行get。

如果您剛剛開始瞭解GET/POST方法,那麼您應該瞭解一個很好的模式,它可以幫助您避免在不斷刷新瀏覽器之後再次發佈數據的情況下一個POST:

http://en.wikipedia.org/wiki/Post/Redirect/Get

An example specifically for asp.net MVC

+0

感謝您的回答。我現在知道了。爲了完整性,如果我們按下後退或前進按鈕會發生什麼? – xport 2010-12-21 09:16:48

+0

您的鏈接對我來說非常有用,對我很有用。非常感謝。 – xport 2010-12-21 09:33:48

4

無論使用何種HTTP方法生成頁面,都會在您刷新時重複。

如果您在提交表單時使用<% Html.BeginForm(...) %>,它將創建一個POST,並且如果刷新結果頁面,它將重複POST。

+0

謝謝回答。我現在知道了。 – xport 2010-12-21 09:17:28

+0

所以建議重定向到處理帖子表單字段的操作方法中的另一個頁面? – xport 2010-12-21 09:19:06

+3

不需要重定向或渲染不同的視圖。您可以將結果傳回ViewData或ModelState。 – lukiffer 2010-12-21 09:24:57

相關問題