Asp.net 动态添加控件和AJAX
让我首先指出,这不是一个容易回答的问题。至少要找到答案几乎是不可能的 在UpdatePanel中,我动态地将一些控件添加到我的面板控件中Asp.net 动态添加控件和AJAX,asp.net,ajax,Asp.net,Ajax,让我首先指出,这不是一个容易回答的问题。至少要找到答案几乎是不可能的 在UpdatePanel中,我动态地将一些控件添加到我的面板控件中 List<Showing> showings = cBLL.GetShowings(tenant.Id); int j = 1; foreach(Showing showing in showings) { UserControl uc = (UserControl)Page
List<Showing> showings = cBLL.GetShowings(tenant.Id);
int j = 1;
foreach(Showing showing in showings)
{
UserControl uc = (UserControl)Page.LoadControl("Controls/BookShowing.ascx");
uc.ID = "showing_" + j;
uc.Visible = true;
((BookShowing)uc).SetShowing(showing);
pnl_showings.Controls.Add(uc);
j++;
}
我得到一个空引用异常
致意
真正的纳普斯特又一次陷入困境
BookShowing bs = (BookShowing)UpdatePanel1.FindControl("showing_" + i);
解决方案是,OnInit覆盖确实有效,是我以错误的方式获取usercontrol
关闭。我从未进入LoadViewState方法,为什么?我需要做些什么特别的事情来引起那个事件吗?
if (Session["ShowingsCount"] != null)
{
int noOfUCs = (int)Session["ShowingsCount"];
for (int i = 1; i < noOfUCs; i++)
{
UserControl uc = (UserControl)Page.LoadControl("Controls/BookShowing.ascx");
uc.ID = "showing_" + i;
uc.Attributes.Add("runat", "Server");
uc.EnableViewState = true;
uc.Visible = true;
pnl_showings.Controls.Add(uc);
}
UpdatePanel1.Update();
}
}
FindControl("showing_1").Visible = false;
BookShowing bs = (BookShowing)UpdatePanel1.FindControl("showing_" + i);