C# 动态加载用户控件-回发问题
我试图在一个aspx页面上动态加载一个usercontrol,但是它可以工作,但是我收到了回发问题??我在usercontrol上有一个图像按钮,我想显示一个图像,但是当我点击按钮时,页面刷新,不显示图像?。我在aspx页面上有一个占位符,后端代码如下:C# 动态加载用户控件-回发问题,c#,asp.net,user-controls,postback,page-lifecycle,C#,Asp.net,User Controls,Postback,Page Lifecycle,我试图在一个aspx页面上动态加载一个usercontrol,但是它可以工作,但是我收到了回发问题??我在usercontrol上有一个图像按钮,我想显示一个图像,但是当我点击按钮时,页面刷新,不显示图像?。我在aspx页面上有一个占位符,后端代码如下: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Control uc = Page
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上重新加载用户控件。添加到页面的动态控件必须在每次回发时添加,而不仅仅是第一次。删除
!iPostback
条件。其次,必须在init或preinit期间添加它们,因为这样可以正确捕获和还原viewstate(ASP.NET在init和load事件之间还原viewstate)。为控件指定ID,并在Page_init中加载控件
uc.ID = "your id";
伙计们,看看这个