最近遇到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加载后消失问题
最新推荐文章于 2025-08-15 10:06:46 发布
本文分析了Web用户控件加载后,在击发控件事件时控件消失的原因,主要是由于主窗体Page_Load事件未正确加载控件。提供了解决方案,即将控件加载代码移至主窗体Page_Load事件中,并添加Page.IsPostBack判断。
2617

被折叠的 条评论
为什么被折叠?



