我瞭解在ASP.NET動態控制創造這片文字:動態控件創建
...當使用動態控件,您 必須記住,他們將存在 只有等到下一次回傳。 ASP.NET 將不會重新創建動態添加的 控件。如果您需要多次重新創建一個 控件,則應在 Page.Load事件處理程序中執行控件創建。這有 允許您使用視圖狀態與您的動態 控制的額外好處。儘管視圖狀態 通常是Page.Load 事件之前,如果你創建的 處理程序Page.Load性事件的控制恢復, ASP.NET將適用於任何視圖狀態 信息,它具有 後Page.Load事件處理程序結束。這 過程是自動 ...
我想試試例如 聲明創建一個按鈕 -
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
和動態背後碼5個複選框 -
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 0; i <= 5; i++)
{
var chBox = new HtmlInputCheckBox();
Controls.Add(chBox);
}
}
但是,當我檢查一些複選框,並按下按鈕後,回發所有複選框 狀態被刪除。這意味着ASP.NET不會自動管理動態控件 的視圖狀態?我試圖啓用每個複選框和整個頁面的視圖狀態,但它不起作用。 有人可以解釋一下: 1.爲什麼會這樣? 2.如何避免這種情況?
嗨。在我的評論中看到更新的代碼,希望它能起作用。如果沒有,給我寫評論,我會看看我能否提供幫助。 – Kirtan 2009-04-15 16:43:03