0
我有一個htmlgeneric控件,並在運行時,我在其中添加控件,但是當我點擊任何按鈕,然後添加控件消失。在回發htmlgeneric控件在asp.net中刪除它的childeren控件,爲什麼?
我有一個htmlgeneric控件,並在運行時,我在其中添加控件,但是當我點擊任何按鈕,然後添加控件消失。在回發htmlgeneric控件在asp.net中刪除它的childeren控件,爲什麼?
動態創建的控件需要在每個帖子後面創建。如果你想維護和恢復他們的ViewState,你還需要給他們一個ID。
例如,這將顯示TextBox
第一次加載頁面時,但在任何subsiquent頁面加載,控制將丟失:
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox newControl = new TextBox()
{
ID = "newControl"
};
SomeControl.Controls.Add(newControl);
}
}
但是,如果你在每一個回發創建控制具有相同ID,那麼控制將與它的文本保持:
protected void Page_Init(object sender, EventArgs e)
{
TextBox newControl = new TextBox()
{
ID = "newControl"
};
SomeControl.Controls.Add(newControl);
}
下面是關於處理dynamic controls好文章。
添加最好在page_init中重新創建它們,以便它們像靜態控件一樣自動填充(只要ID與您所說的相匹配) – davidsleeps 2011-02-09 10:35:57