簡體   English   中英

頁面生命周期問題 (asp.net)

[英]Issue with page life cycle (asp.net)

我在我的頁面 aspx.cs 中有這個事件:

   public void deleteBtn_Click(object sender, CommandEventArgs e)
{

    UsefulStaticMethods.DeleteComment(int.Parse(e.CommandName));        
}

我正在嘗試從頁面中刪除評論。 刪除成功。 但是,該事件發生后,網站界面不會自行更新。

My Page Load 負責用動態按鈕(刪除評論)繪制頁面上的所有評論。

我知道當刪除按鈕觸發時,頁面加載之前觸發..這有點問題..因為頁面加載重新創建了頁面界面,而 deleteBtn_click 刪除了評論,我想立即更新界面。 ..“刷新”頁面沒有被刪除的評論..

如果我執行 function 再次繪制整個表格,它將繪制另一個評論列表以及在頁面加載事件中繪制的評論列表。 我不能拒絕不在 page_load 繪制評論列表,因為我需要在回發時重新創建所有內容(包括動態創建的按鈕)。-不能使用!Ispostback

問題是我怎樣才能實現這個/克服這個問題?

通常,如果您使用數據綁定,那么您可以重新綁定有問題的控件。 也許,您應該修改繪制注釋列表的 function 以清除現有列表(可能通過從表控件中刪除行或從容器面板或占位符中清除控件集合(您可以引入占位符控件僅用於清除目的))。

刷新頁面的另一個技巧是通過執行Server.Transfer重新啟動頁面生命周期到同一頁面。 一般來說,我不會推薦這種方法,除非頁面代碼結構非常復雜並且刷新數據需要很多行代碼。

您需要重新綁定控件。 假設您的按鈕位於 Grid 中,而不是您需要 Rebind() 網格。 如果不是,還有另一種方法。 將內容放入更新面板並使用刪除按鈕設置更新面板觸發器。 因此,當單擊刪除按鈕時,更新面板會導致更新。

使用數據列表或轉發器服務器控件顯示評論,刪除后重新綁定服務器控件。 在 Page_Load 上使用.Ispostback。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM