在ASP.NET文字控件中显示HTML

Cur*_*Dev 3 asp.net

我的页面上显示了以下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> 
Run Code Online (Sandbox Code Playgroud)

该控件绑定到我的SQL Server表中的一个字段,并且该表中的名为Description的列包含带有HTML标记<p> <ul> <br>等的文本。

但是,当文本显示在Literal控件中时,将按原样显示,即不会呈现HTML。

如果Literal控件不支持渲染,我还有哪些其他选项?

mas*_*son 5

您的问题与Literal控件无关。这就是嵌入HTML的方式。尝试这个:

<asp:Literal ID="Literal1"
        Mode="PassThrough"
        Text= "<%# Item.Description %>"          
        runat="server">
    </asp:Literal>
Run Code Online (Sandbox Code Playgroud)

注意到我省略了冒号吗?该冒号可以防止注入攻击,其中嵌入的值的内容可能来自用户。但是,如果您信任HTML内容,则删除冒号将嵌入HTML并允许其正确呈现而不是转义。