![](/img/trans.png)
[英]What's the difference in behavior between adding a control to an ASPX page directly, loading a control programmatically & adding to a placeholder?
[英]What's the difference between PlaceHolder and <div />?
在ASP.NET项目中,我具有以下HTML:
<asp:PlaceHolder ID="plcTitle" runat="server"></asp:PlaceHolder>
<div id="divStrapline" runat="server" />
用以下代码填充:
if (this.TitlePanel != null)
{
plcTitle.Controls.Add(this.TitlePanel);
}
if (this.Strapline != null)
{
divStrapline.Controls.Add(this.Strapline);
}
他们都是同一件事吗? 哪个比另一个更好? 为什么?
<asp:PlaceHolder />
不会生成div
标签。
当我们在运行时添加控件时,PlaceHolder Web服务器控件没有任何可见输出,并且用作占位符。
在开始元素本身中关闭的空div
标签(以及其他容器标签,如p
等)(如<div/>
而不是<div></div>
)可能会导致某些浏览器出现问题。 浏览器可能会忽略使用/
关闭的事实,并将其视为新的div,从而破坏了后续标记。
我曾经在Firefox中遇到过这个问题:我在python中使用minidom xml库生成了HTML,该库将空div表示为<div />
-它破坏了我标记的其余部分,使后续的div混乱。 最后,我向空元素添加了注释节点,以确保它们具有单独的结束标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.