显示嵌入式代码块中的HTML文本

时间:2014-02-07 11:19:48

标签: c# asp.net

在我的ASP.NET网页中,我检索了一些在代码块中进行HTML编码的文本。它显示文本,但不格式化。如何显示带格式的文本?

我在使用和不使用HTMLDECODE的情况下尝试了它,但没有运气

我的ASP页面(这是在转发器中):

<ItemTemplate> 
    <div class="result" data-pageid="<%#:Item.PageId %>"
        style="<%#: getBackgroundImage(Item.ImagePath) %>" >
        <div>
            <%#: Server.HtmlDecode(Item.HighlightedText) %>
        </div>                                        
    </div>
</ItemTemplate>

文字显示如下:

警方今天在市区逮捕了50 <em>protesters</em>

我希望它显示如下:

警方今天在市中心逮捕了50名抗议者

编辑:我还没试过<literal><pre>

2 个答案:

答案 0 :(得分:0)

您可以尝试使用eval() e.g。

             &lt;%#DataBinder.Eval(Container.DataItem,“Name”)%&gt;仅适用于&lt;%#DataBinder.Eval(Container.DataItem,“Price”,“{0:c}”)%&gt;         
        '&gt;查看详情         
        
    

答案 1 :(得分:0)

我希望我不必去看后面的代码,但这就是我最终要做的事情。我在下面发布了我的代码,但如果有人知道ASP页面中的这个使用和嵌入式代码块,我很乐意听取您的意见。

在asp页面中:

<div>
    <asp:Label ID="lblSearchResult" runat="server" Text="ResultText"></asp:Label>
</div> 

背后的代码:

protected void pageResults_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        PageResult p = e.Item.DataItem as PageResult;
        ((Label)e.Item.FindControl("lblSearchResult")).Text = p.HighlightedText;
    }
}