最近遇到Web用户控件加载后,击发用户控件中的事件,用户控件消失的情况。
原因分析:
1、加载用户控件的代码写在主窗口的某个事件代码中,该事件不会总触发。
2、击发用户控件中的事件时,主窗口会重新Page_Load,而主窗体Page_Load事件中没有加载用户控件的代码。
解决方案:
更改加载用户控件的代码位置,放在主窗体的Page_Load事件中,并加入Page.IsPostBack判断,因为击发用户控件中的事件时,会引起主窗口PostBack。
代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (TreeView1.SelectedNode.Text == “ABC”)
{
PlaceHolder1.Controls.Add(TemplateControl.LoadControl(“UC_ABC.ascx”));
}
}
}
WebUserControl加载后消失问题
最新推荐文章于 2024-08-24 23:02:54 发布