2012-12-22 26 views
3

我正在使用文字控制来显示一个HTML格式的文本。它不显示br,hr标签,结果空白空间行消失。任何人都可以帮我解决这个问题?asp.net文字不显示<br><hr>

+2

当你问这样的问题时,你应该发布你的代码,所以我们知道_exactly_你在做什么。 – Oded

回答

7

asp:文字控件有Mode属性,请尝试将其设置为PassThrough

<asp:Literal Mode="PassThrough" Text="This<hr />Works" runat="server" /> 

这将输出:

enter image description here

这似乎是你以后......

编辑以下OP的评论:这不正是另一个例子,他想要:

<asp:Literal runat="server" Mode="PassThrough" Text="<p>para 1</p><br/><p>para2 </p>"/> 

个输出为:

enter image description here

我猜你有一些CSS或其他造型与您的输出乱搞。我建议在一个干净的项目测试该地看到,它按预期工作...

+0

我已经尝试过,但不幸的是它不起作用 – sai

+1

究竟是什么不起作用?请发布您使用的代码(在您的原始问题中)... – Blachshma

+0

例如,考虑此html代码

第1段


第2段

。它应该显示为带有空行的para1,然后是para2,但显示为段1紧接着是第2段,没有空白的空格。 – sai

2

您可以使用

从MSDN
<asp:Literal Mode="PassThrough"></asp:Literal> 

定义:

直通:的内容控制不被修改。

编码:控件的内容被转换为HTML编码的字符串。

变换:从控件的内容中删除不支持的标记语言元素。如果Literal控件在支持HTML或XHTML的浏览器上呈现,则控件的内容不会被修改。

Transform Mode: 
<br /> 
<asp:Literal ID="literal1" Mode="Transform" Text="<b>This is Transform </b>" 
runat="server" /> 
<br /> 
<br /> 
Pass Through Mode: 
<br /> 
<asp:Literal ID="literal2" Mode="PassThrough" Text="<b><u>This is Pass Through</b></u>" runat="server" /> 
<br /> 

<br /> 
Encode Mode: 
<br /> 
<asp:Literal ID="literal3" Mode="Encode" Text="<b>This is Encode </b>" 
runat="server" /> 
</div> 
</asp:Content> 

<br /> 
<asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="#000099" /> 
</asp:Content> 
+0

它适用于除


以外的其他标签 – sai

相关问题