動態增加控制項的方法如下(以下以使用者控制項為例):
//載入User Control
UserControl1 ucObj=(UserControl1)LoadControl("~/UserControl1.ascx");
//若為一般控制項(Control),只要new一個新物件即可
//以TextBox為例,TextBox txtObj = new TextBox();
panel1.Controls.Add(ucObj); //加在Panel中
UserControl1 ucObj=(UserControl1)LoadControl("~/UserControl1.ascx");
//若為一般控制項(Control),只要new一個新物件即可
//以TextBox為例,TextBox txtObj = new TextBox();
panel1.Controls.Add(ucObj); //加在Panel中
//載入User Control
UserControl1 ucObj=(UserControl1)LoadControl("~/UserControl1.ascx");
panel1.Controls.Add(ucObj); //加在Panel中
if (ViewState["UcCount"] != null) {
//記錄控制項數目
ViewState["UcCount"]= (int.Parse(ViewState["UcCount"].ToString())+1).ToString();
}else{
ViewState.Add("UcCount", "1");
}
UserControl1 ucObj=(UserControl1)LoadControl("~/UserControl1.ascx");
panel1.Controls.Add(ucObj); //加在Panel中
if (ViewState["UcCount"] != null) {
//記錄控制項數目
ViewState["UcCount"]= (int.Parse(ViewState["UcCount"].ToString())+1).ToString();
}else{
ViewState.Add("UcCount", "1");
}
if (ViewState["UcCount"] != null) {
for (int i = 1; i <= int.Parse(ViewState["UcCount"].ToString()); i++) { panel1.Controls.Add((UserControl1)LoadControl("~/UserControl1.ascx"));
}
}
for (int i = 1; i <= int.Parse(ViewState["UcCount"].ToString()); i++) { panel1.Controls.Add((UserControl1)LoadControl("~/UserControl1.ascx"));
}
}
參考資料:
http://social.msdn.microsoft.com/forums/zh-TW/236/thread/c18da009-fbcd-437b-9f9c-f758ade1e477/
沒有留言:
張貼留言