Skip to main content
 首页 » 编程设计

c#之如何将 Web 用户控件呈现为 PlaceHolder

2024年01月24日26cmt

谁能帮我创建自定义 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); 
} 

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

请您参考如下方法:

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

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