2

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

他们俩是一样的吗?是不是比另一个更好?为什么?

4

2 回答 2

4

<asp:PlaceHolder />不会生成div标签。

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

于 2010-04-30T09:05:23.980 回答
1

在开始元素本身中关闭的空div标签(以及其他容器标签等)(如代替)可能会导致某些浏览器出现问题。浏览器可能会忽略它以 a 关闭的事实,并将其视为新的 div,从而破坏后续标记。p<div/><div></div>/

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

于 2010-04-30T09:12:49.863 回答