PlaceHolder和<div>之间有什么区别?</div>

时间:2010-04-30 09:04:26

标签: asp.net html placeholder

在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);
}

他们俩都是一回事吗?要么比另一个更好?为什么呢?

2 个答案:

答案 0 :(得分:4)

<asp:PlaceHolder />未生成div代码。

PlaceHolder Web服务器控件没有任何可见输出,在运行时添加控件时用作占位符。

答案 1 :(得分:1)

空白div标记(以及其他容器标记,如p等)在开放元素本身中关闭(如<div/>而不是<div></div>)可能会导致问题一些浏览器。浏览器可能会忽略它被/关闭的事实,并将其视为新的div,从而打破后续标记。

我曾经遇到过Firefox的这个问题:我在python中使用minidom xml库生成html,它将空div表示为<div /> - 它打破了我的标记的剩余部分,弄乱后续的div。我最后将注释节点添加到空元素,以确保它们有一个单独的结束标记。

相关问题