我有以下ASP。. NET文字控件显示在我的页面上
<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的列包含带有HTML标签的文本,如<p> <ul> <br>
等。
然而,当文本在Literal控件中显示时,它是按原样显示的,即HTML不会被呈现。
如果Literal控件不支持呈现,我还有什么其他选项?
您的问题不在于Literal控件。这是嵌入HTML的方式。试试这个:
<asp:Literal ID="Literal1"
Mode="PassThrough"
Text= "<%# Item.Description %>"
runat="server">
</asp:Literal>
注意我省略了冒号吗?冒号是用来防止注入攻击的,在这种攻击中,被嵌入的值的内容可能来自用户。但是,如果您信任HTML内容,那么删除冒号将嵌入HTML并允许其正确呈现,而不是转义。