2009-02-16 48 views
15

我在asp.net網格中添加了命令按鈕。使用該按鈕執行操作後,我們刷新網格以反映新數據。 (基本上這個動作複製網格行)。在asp.net中的回發操作後刷新頁面

現在當用戶使用F5刷新頁面時,如果我們選擇「重試」,則會顯示一條警告消息(將信息重新發送到服務器),操作會自動重複。

我知道這是asp.net中的一個常見問題,我們該如何最好地處理這個問題?

回答

2

如果您認爲您不需要回發範例,則可能需要查看ASP.NET MVC。

1

如果我很好理解,您只需在填充網格之前檢查您是否處於回髮狀態。
假設你上Page_Load,只需用這樣的事後回溯測試操作:

private void Page_Load(object sender, EventArgs e) 
{ 
    if(!this.IsPostBack) 
    { 
     // populate grid 
    } 
} 
1

你需要調用的Response.Redirect(Request.Url.ToString());

,或者您可以與包裹的UpdatePanel柵格和每個命令之後的數據源結合網格

2

的問題是,asp.net按鈕執行形式的帖子時按下一個按鈕。如果用鏈接替換按鈕,則問題應該消失。您也可以使用執行javascript函數的按鈕,將document.location設置爲您的頁面地址。

1

裏面你<asp:Repeater>標籤把這個:

EnableViewState="false" 

這將導致你的控制刷新每次頁面加載,不管它是一個回發與否。

+0

爲什麼沒有人給這個答案一個upvote? – slamsal 2014-11-19 20:45:20

+0

沒有爲我工作。 – Andy 2015-03-11 21:21:38

-1

例如: 如果您點擊'按鈕'系統將捕獲事件'button_click'。 如果刷新頁面,系統將再次執行相同的事件。 穿上噸有這個問題,在事件插入: 了你的活動

private void button_click(object sender, System.EventArgs e) 
{ 
    button.Enabled =false; 
    button.Enabled =true; 
} 

是你的意思?