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】:

&lt;p&gt; 标记中包含&lt;div&gt; 标记是不好的语法。应该是&lt;div&gt;&lt;p&gt;Some Text&lt;/p&gt;&lt;/div&gt;

在 C# 中:

litDescription.Text = "&lt;div&gt;Some Text&lt;/div&gt;";

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

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

【讨论】:

文字控件不将其内容包装在&lt;p&gt;标签中。 我的错误。修复它,以便您可以删除 -1。 litDescription.Text = "Some Text";只会在页面上写Some Text,没有标签。在span 中实现某些文本的最简单方法是使用Label 控件而不设置AssociatedControlId 属性。 这是假设他出于某种原因使用了不正确的语法,例如&lt;p&gt;&lt;span&gt;Some Text&lt;/span&gt; and some more text&lt;/p&gt;【参考方案3】:

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

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

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

请注意,嵌套在 &lt;p&gt; 标记中的 &lt;div&gt; 标记不是有效的 HTML 标记。

【讨论】:

以上是关于ASP.Net 文字。插入 html的主要内容,如果未能解决你的问题,请参考以下文章

上传文件处理数据的时候提示 正在中止线程

ASP.NET发送外部邮件,怎么在外部邮件里插入图片和定义样式

文字控件用于啥,与 asp.net 中的标签控件有啥区别?

asp.net 文字控制 bgcolor

asp.net mvc 时间前用文字助手 [重复]

ASP.NET MVC 正则表达式属性不适用于括号(文字)