2012-07-25 71 views
1

我在c#中使用ASP.NET實現Web Form,我有一個只有幾個TextBox和一個Submit Button的頁面,當按下Submit Button時,TextBox中的數據將插入數據庫,該頁面將被保留並且不需要重定向。ASP.NET:web表單按鈕onclick問題

但是,數據提交後出現問題,如果F5 /刷新頁面而沒有點擊提交按鈕,數據將一次又一次地插入。

如何避免第一次提交後發生此類問題?

謝謝您的高級。

+0

你有沒有試過把它放在'if(!Page.IsPostBack){}塊? – dtsg 2012-07-25 10:56:55

+0

Duplicate http://stackoverflow.com/questions/1263852/prevent-form-redirect-or-refresh-on-submit – yogi 2012-07-25 10:57:54

+0

可能重複[頁面刷新再次觸發事件](http://stackoverflow.com/questions/6014224/page-refresh-is-firing-the-event-again) – Anuraj 2012-07-25 11:00:07

回答

3

將保存邏輯完成後,將Response.Redirect放置到同一頁面。發生這種情況是因爲瀏覽器在F5上重複上次請求時,這種情況是POST請求保存的。 Response.Redirect最後一個請求將會是GET並且你的問題將會被解決

+0

這看起來將是工作,是Response.Redirect到同一頁是最佳實踐? – sams5817 2012-07-25 11:11:16

+0

我不能說這是最好的做法,它取決於個別情況。 – vadim 2012-07-26 05:40:07

-1

不幸的是,你不能阻止類似的事情,因爲瀏覽器在你按下刷新後再次執行相同的代碼,所以他們沒有什麼可以做的,但你可以再次使用response.redirect到同一頁面。

此外,您可以檢查數據庫中的重複,如果該記錄存​​在不要再保存它。

希望我幫助