有人可以帮助我创建自定义的Web用户控件以动态呈现到占位符吗?

我刚刚创建了一个Web用户控件,该控件在服务器端没有代码,而仅在aspx中进行了设计,因为所有功能都在客户端。

网页控制

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebControlDemo.ascx.cs" Inherits="Project1.Web.UI.WebControlDemo" %>
<div>
Blah blah blah blah
</div>


在另一页

protected void button1_Click(object sender, EventArgs e)
{
   WebControlDemo wcd = new WebControlDemo();
   this.placeHolder1.Controls.Add(wcd);
}


但是我什么也看不到。那么,我需要添加什么才能最终呈现出来呢?

最佳答案

您不应该在代码中手动创建用户控件。您应该使用Page对象中的LoadControl方法。然后它将正确初始化它。像这样

protected void button1_Click(object sender, EventArgs e)
{
   WebControlDemo wcd = this.LoadControl("~/SomePath/WebControlDemo.ascx") as WebControlDemo;
   this.placeHolder1.Controls.Add(wcd);
}

10-05 23:55