我已經在我的網頁aspx.cs了這一事件:問題與頁面生命週期(asp.net)
public void deleteBtn_Click(object sender, CommandEventArgs e)
{
UsefulStaticMethods.DeleteComment(int.Parse(e.CommandName));
}
我試圖刪除該頁面的評論。刪除成功。但是,該事件發生後,網站界面並不會自行更新。
我的頁面加載負責使用動態按鈕(刪除評論)在頁面上繪製所有評論。
我知道何時刪除按鈕觸發,頁面加載之前觸發..這就是一個問題..因爲頁面加載重新創建頁面接口,而deleteBtn_click刪除評論,我想更新界面直接...「刷新」頁面沒有被刪除的評論..
如果我執行一個函數來再次繪製整個表,它會繪製另一個評論列表以及在頁面上繪製的評論列表加載事件。 我不能拒絕不在page_load繪製評論列表,因爲我需要在回發時重新創建的所有東西(包括動態創建的按鈕).-無法使用!Ispostback
問題是我該如何實現這一點/克服問題?
我認爲訴諸Response.Redirect。問題在於變化發生在事件時間。所以除非按鈕事件在頁面加載之前以某種方式觸發,否則它可以通知頁面加載的變化。但它沒有,所以頁面加載,像往常一樣加載不是最新的數據..因爲它在更新的按鈕事件之前觸發....如果我不生成頁面加載中的所有按鈕並將它們附加到佔位符..沒有事件會觸發,什麼都不會繪圖..因爲所有的頁面都是動態創建的..你看到了嗎? –
控件的重新綁定工作在頁面加載..但它是一個數據控件,它接受一個數據源..我明白你的意思..仍然按鈕事件在頁面加載後觸發,,所以在註釋列表之前沒有發生刪除更改繪製 –
@Dmitry,我不是建議你改變page_load。我只是說在按鈕單擊時,只需重新綁定數據(或重新創建控制樹以查看註釋列表)。你不應該使用'Response.Redirect',因爲它意味着不必要的往返客戶端 - 'Server.Transfer'肯定是更好的選擇。 – VinayC