【问题标题】:What's the difference between PlaceHolder and <div />?PlaceHolder 和 <div /> 有什么区别?
【发布时间】:2011-02-14 03:56:08
【问题描述】:

在一个 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.net html placeholder


    【解决方案1】:

    &lt;asp:PlaceHolder /&gt; 不会生成 div 标记。

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

    【讨论】:

      【解决方案2】:

      空的div标签(和其他容器标签,如p等)封闭在开始元素本身(如&lt;div/&gt;而不是&lt;div&gt;&lt;/div&gt;)可能会导致某些浏览器出现问题。浏览器可能会忽略它以 / 关闭的事实,并将其视为新 div,从而破坏后续标记。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-19
        • 2011-01-14
        • 2020-03-18
        • 2012-03-11
        • 2012-11-09
        相关资源
        最近更新 更多