2012-07-31 87 views

回答

0

最簡單,很常見的解決方案是將用戶重定向到一個不同的頁面(如「感謝您」頁面)一旦你完成插入到數據庫:如果用戶重新加載頁面

Response.Redirect("ThankYou.aspx"); 

這樣,他重新加載「謝謝」頁面,並且再次在服務器上執行任何操作。

如果你想堅持一個頁面,來處理這個問題的另一個常見的方法是使用一個會話變量作爲「標誌」:

if (Session["inserted_to_db"] == null) 
{ 
    //insert to database... 
    //...... 
    //...... 
    Session["inserted_to_db"] = true; 
} 
else 
{ 
    //already inserted, ignore or throw error 
} 
+0

問題1:感謝ü..可是當我按後退按鈕並且再次加載意味着它開始插入相同的值。問題2:雖然客戶端錯誤信息也顯示後清除值..謝謝高級 – 2012-07-31 13:04:30

+0

我懷疑許多人會麻煩回去,再次按提交,如果你擔心它,然後使用會話標誌的第二種方法。不知道你的意思是客戶端錯誤,你能解釋一下嗎? – 2012-07-31 13:13:35

+0

在提交插入錯誤意味着我會拋出異常,我處理隱藏文本字段,而窗口onload我顯示錯誤...如果再次刷新它保持錯誤.. – 2012-07-31 13:38:08