我正在使用文字控件来显示 html 格式的文本。它不显示 br,hr 标签,结果空白行消失了。有人可以帮我解决这个问题吗?
问问题
4198 次
2 回答
7
asp:Literal 控件有一个Mode
属性,尝试将其设置为PassThrough ,例如
<asp:Literal Mode="PassThrough" Text="This<hr />Works" runat="server" />
这将输出:
这似乎是你所追求的......
编辑以下 OP 评论:另一个完全符合他要求的示例:
<asp:Literal runat="server" Mode="PassThrough" Text="<p>para 1</p><br/><p>para2 </p>"/>
输出为:
我猜你有一些 CSS 或其他样式弄乱了你的输出。我建议在一个干净的项目上测试它,看看它是否按预期工作......
于 2012-12-22T14:38:53.283 回答
2
您可以使用
<asp:Literal Mode="PassThrough"></asp:Literal>
来自 MSDN 的定义:
PassThrough:不修改控件的内容。
编码:控件的内容被转换为 HTML 编码的字符串。
转换:不支持的标记语言元素从控件的内容中删除。如果在支持 HTML 或 XHTML 的浏览器上呈现 Literal 控件,则不会修改控件的内容。
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>
于 2012-12-22T14:58:39.817 回答