动态加载用户控件-回发问题

本文关键字:问题 -回 控件 加载 用户 动态 | 更新日期: 2023-09-27 18:11:51

我试图在aspx页面上动态加载用户控件,但它的工作原理,但我得到回发问题??我有一个图像按钮在用户控制,我想显示一个图像,但当我做点击按钮页面刷新,不显示图像?我有一个占位符在aspx页面和后端代码我有这个:

 protected void Page_Load(object sender, EventArgs e)
 {      
     if (!IsPostBack)
     {
            Control uc = Page.LoadControl("~/UserControls/Mycontrol.ascx");
            placeholder1.Controls.Add(uc);
     }
 }

我需要在page_preinit或page_init做点什么吗?

动态加载用户控件-回发问题

每次回发时都应该重新加载Page_init上的用户控件

添加到页面的动态控件必须在每次回发时添加,而不仅仅是第一次。移除!IsPostBack条件。其次,它们必须在init或preinit期间添加,因为这样,视图状态将被捕获并正确恢复。. NET恢复init和load事件之间的视图状态)

给控件一个ID,并在Page_init

中加载控件
uc.ID = "your id";