ASP.NET中 PlaceHolder 控件的使用方法

(编辑:jimmy 日期: 2026/1/17 浏览:2)

使用 PlaceHolder 控件可以将空容器控件放到网页中,然后在运行时动态添加、删除或遍历各子元素。该控件只呈现其子元素;它本身并没有基于 HTML 的输出。

在实际使用过程中可以向PlaceHolder添加任何Html控件,甚至包括JavaScript代码。

将 PlaceHolder 控件用作存储动态添加到网页的服务器控件的容器。PlaceHolder 控件不产生任何可见输出并且只能用作网页上其他控件的容器。可以使用 Control.Controls 集合添加、插入或移除 PlaceHolder 控件中的控件。

一、PlaceHolder 动态添加控件

前台:

复制代码 代码如下:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

后台:

复制代码 代码如下:
Button btnNew=new Button();//声明一个新的按钮
btnNew.Text = "新的按钮";
PlaceHolder1.Controls.Add(btnNew);//添加到控件中
 
Literal litNewHTML = new Literal();//添加<br/>或<p>或普通text使用这种方式
litNewHTML.Text = "<p>我是一段HTML代码</p>";
PlaceHolder1.Controls.Add(litNewHTML);

二、PlaceHolder 动态添加 Web用户控件

创建 Test.ascx 写上代码如下:

复制代码 代码如下:
<div>
    我是Test.ascx控件里的内容
</div>

创建单独的WinForm1.aspx页面:

前台:
复制代码 代码如下:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

后台:

复制代码 代码如下:
PlaceHolder1.Controls.Clear(); //清除所有控件
Control test = Page.LoadControl("~/Test.ascx");
PlaceHolder1.Controls.Add(test);

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。