在ASP中显示HTML..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> 

这个控件被绑定到我的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并允许其正确呈现,而不是转义。

最新更新