2012-06-14 60 views
0

我正在ASP.NET/C#中的一個頁面上工作,其中用戶的信息被保存到數據庫中。
頁面上有很多字段,當驗證完成後,信息被保存。如何解決在Asp.Net瀏覽器重新加載按鈕的回發問題

提交信息是使用ASP.NET按鈕完成的。
表中的主鍵是在代碼本身中生成的,也就是說,每次它被增加一個。

我剛剛通過瀏覽器的重新加載按鈕重新加載頁面時遇到問題。我注意到提交的主鍵值增加了相同的用戶信息。

所以我的問題是我應該如何解決這個問題?
成功提交數據後,我應該只清除所有文本框的值,以便驗證,然後用戶必須再次填充信息?

請分享你的想法,我該如何處理這個問題。

+2

代碼在哪裏? –

+0

@GeorgeStocker對不起,我在家裏問這個問題。我的工作保存在我的辦公室。我用Linq保存信息到Sql。 – freebird

回答

7

最簡單的使用方法是使用Post/Redirect/Get模式,在插入行後的回發之後,將用戶重定向到可以查看項目的頁面。這樣,如果他們按下刷新,它將刷新視圖頁面。

例如:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    // Insert Data 
    ... 

    // Redirect to get 
    Response.Redirect("ViewItem.aspx?id=" + insertedItemId); 
} 

注意:他們仍然可以按返回並再次提交,不過這通常是由瀏覽器重新提交前確認。

+0

+1 - 打敗我吧。 – Fenton

+0

@Richard我擔心的是他們仍然可以提交信息。如果我們在提交之後不顯示信息,該怎麼辦。 – freebird

+0

他們無法提交信息,因爲他們現在在新頁面上,而沒有該表格。是的,他們可以按回並重新提交,但瀏覽器會要求確認。隱藏表單而不重定向到另一個頁面不會解決刷新問題,因爲刷新按鈕只是簡單地發送與上次相同的內容,而不管頁面上仍顯示哪些內容。 – Richard

相關問題