2011-09-22 36 views

回答

2

這是由於上一個請求是對頁面的POST請求而引起的,您需要做的是重定向,因此最後一個請求會變成GET。

你已經處理後的數據,你可以做一個重定向到同一頁面後:

Response.Redirect("~/ThePage.aspx"); 

這會防止你直接從代碼呈現信息給用戶的背後,如果你想使用這種方法來呈現一個成功的消息,您將需要添加一個查詢字符串或類似的東西:

Response.Redirect("~/ThePage.aspx?result=success"); 

然後檢查的頁面綁定如果查詢字符串呈現一個成功的消息設置,這樣的檢查可能看起來像這樣:

if (Request.QueryString["result"] != null && Request.QueryString["result"].ToString().ToLower() == "success") 
{ 
    //Show success message 
} 

另一種解決方案,它可能是優越的,但可能需要一些更多的工作是包裝形式的UpdatePanel的,你可以在這裏閱讀更多關於它:http://ajax.net-tutorials.com/controls/updatepanel-control/

一個UpdatePanel就會使形式與AJAX提交而不是完整的回發。

+0

第一部分作品awesoem !!!!你能告訴我如何檢查頁面綁定「成功」嗎? –

+1

添加了支票,您必須決定如何自己顯示消息。 :) –

+0

非常感謝。有用!!!但是當我重新加載頁面時,每次都會顯示成功的消息,有沒有辦法讓它只顯示一次? –

4

將位置標題返回給用戶,將瀏覽器重定向到另一個頁面:然後刷新將重新加載該其他頁面,而不是重新提交舊錶單。

+0

你能告訴我一個例子,請 –

2

您需要按照郵政/重定向/獲取其上WikiPedia解釋和費米提到的模式。在完成處理之後,在您的代碼中執行Response.Redirect到所需的頁面。

+0

謝謝你能告訴我一個樣品請 –

2

請參閱本文有關PRG模式:http://en.wikipedia.org/wiki/Post/Redirect/Get

總之,用戶的信息(的提交)數據到服務器後,您發出的Response.Redirect有用戶瀏覽器中得到的頁面。這樣,如果用戶按下重新加載按鈕,則重複的是GET請求。

相關問題