ASP.Net 文字。插入 html
Posted
技术标签:
【中文标题】ASP.Net 文字。插入 html【英文标题】:ASP.Net literal. Insert html 【发布时间】:2012-11-22 06:49:26 【问题描述】:我的页面上有简单的文字。
<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>.
【问题讨论】:
您如何尝试插入这些值?请张贴代码。 你为什么不试试“ @Mehdi,当它只是文本时,文字更合适:***.com/questions/3309398/asp-net-literal-vs-label 【参考方案1】:P 中的 div 是无效的 html。 我不认为 .net 正在编造
。 我认为它来自您的浏览器。【讨论】:
+1。如果您执行View Source
,您将看到没有额外的p
标签,但您会在“检查器”(Chrome、FF、IE 等)中。浏览器正在尝试修复 DOM 以处理无效情况。【参考方案2】:
在<p>
标记中包含<div>
标记是不好的语法。应该是<div><p>Some Text</p></div>
在 C# 中:
litDescription.Text = "<div>Some Text</div>";
但是,这仍然是不好的语法。如果您使用 div 将内联样式应用于<p>
标记的一部分,请使用<span>
而不是<div>
。
litDescription.Text = "Some Text";
是正确的 html 语法。
【讨论】:
文字控件不将其内容包装在<p>
标签中。
我的错误。修复它,以便您可以删除 -1。
做litDescription.Text = "Some Text";
只会在页面上写Some Text
,没有标签。在span
中实现某些文本的最简单方法是使用Label
控件而不设置AssociatedControlId
属性。
这是假设他出于某种原因使用了不正确的语法,例如<p><span>Some Text</span> and some more text</p>
。【参考方案3】:
一种更符合asp.net web表单的服务器端控制结构的不同方法。
<p><div>
<asp:Literal id=DescriptionLiteral runat="server" />
</div></p>
// c# code:
DescriptionLiteral.Text = "Some Text";
请注意,嵌套在 <p>
标记中的 <div>
标记不是有效的 HTML 标记。
【讨论】:
以上是关于ASP.Net 文字。插入 html的主要内容,如果未能解决你的问题,请参考以下文章