0

我的页面上有简单的文字。

<asp:Literal ID="litDescription" runat="server"></asp:Literal>

当我尝试将以下文本设置为文字时:

<p><div>Some Text</div></p>

在我的浏览器标记中,我看到

<p></p>
    <div>Some Text</div>
<p></p>

为什么有两个“p”标签?我需要有

<p><div>Some Text</div></p>.
4

3 回答 3

9

P 中的 div 是无效的 HTML。我不认为 .net 正在制作

向上。我认为它来自您的浏览器。

于 2012-12-04T15:41:08.090 回答
1

<div>在标签内有标签是不好的语法<p>。它应该是<div><p>Some Text</p></div>

在 C# 中:

litDescription.Text = "<div>Some Text</div>";

但是,这仍然是不好的语法。如果您使用 div 将内联样式应用于<p>标记的一部分,请<span>使用<div>.

litDescription.Text = "Some Text";是正确的 html 语法。

于 2012-12-04T15:41:53.020 回答
0

一种更符合asp.net web表单的服务器端控制结构的不同方法。

<p><div>
<asp:Literal id=DescriptionLiteral runat="server" />
</div></p>

// c# code:
DescriptionLiteral.Text = "Some Text";

请注意,<div>嵌套在标签中的<p>标签不是有效的 HTML 标记。

于 2012-12-04T15:43:17.260 回答