我的页面上显示了以下 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>
此控件绑定(bind)到我的 SQL Server 表中的一个字段,表中名为 Description 的列包含带有
<p> <ul> <br>
等 HTML 标记的文本。但是,当文本显示在 Literal 控件中时,它会按原样显示,即 HTML 不会被呈现。
如果 Literal 控件不支持渲染,我还有哪些其他选择?
最佳答案
您的问题不在于 Literal 控件。这是您嵌入 HTML 的方式。试试这个:
<asp:Literal ID="Literal1"
Mode="PassThrough"
Text= "<%# Item.Description %>"
runat="server">
</asp:Literal>
注意到我省略了冒号吗?该冒号是为了防止注入(inject)攻击,其中嵌入的值的内容可能来自用户。但是,如果您信任 HTML 内容,那么删除冒号将嵌入 HTML 并允许其正确呈现而不是转义它。
关于asp.net - 在 ASP.NET 文字控件中显示 HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32360940/