我的页面上显示了以下ASP.NET Literal Control
<div class="col-md-8 text-justify">
<p>
<asp:Literal ID="Literal1"
Mode="PassThrough"
Text= "<%#:Item.Description %>"
runat="server">
</asp:Literal>
</p>
</div>
此控件绑定到我的SQL Server表中的一个字段,表中名为Description的列包含带有<p> <ul> <br>
等HTML标记的文本。
然而,当文本显示在Literal控件中时,它显示为原样,即HTML不会被渲染。
如果Literal控件不支持渲染,我还有其他选项吗?
答案 0 :(得分:4)
您的问题不在于Literal控件。这是嵌入HTML的方式。试试这个:
<asp:Literal ID="Literal1"
Mode="PassThrough"
Text= "<%# Item.Description %>"
runat="server">
</asp:Literal>
注意我遗漏了冒号?该冒号用于防止注入攻击,其中嵌入的值的内容可能来自用户。但是如果您信任HTML内容,那么删除冒号将嵌入HTML并允许它正确呈现而不是转义它。