我写了一个两个用户控件,首先加载第一个控件,当点击第一个控件上的某个按钮时,动态加载第二个控件。用placeholder占位,使用ViewState保存状态,基本代码如下
if(ViewState["isFirstTime"] !=null)
{
UserControl control1 =(UserControl)LoadControl("HeaderLogout.ascx");
this.PlaceHolder1.Controls.Clear();
this.PlaceHolder1.Controls.Add(control1);
control1.ID="HeaderLogoutControl";
}
else
{
UserControl control = (UserControl)LoadControl("HeaderLogin.ascx");
this.PlaceHolder1.Controls.Add(control);
control.ID ="HeaderLoginControl";
ViewState["isFirstTime"] = 1;
}
可是如果我这样写的话,不论我点击第一个控件上的什么按钮都会加载第二个控件
如果我把if else去掉,只留一个加载的部分,如
UserControl control = (UserControl)LoadControl("HeaderLogin.ascx");
this.PlaceHolder1.Controls.Add(control);
control.ID ="HeaderLoginControl";
就可以触发 里面按钮的事件
求教高手
[求助]关于动态加载的用户控件的事件处理问题