2014-02-07 26 views
0

在我的ASP.NET網頁中,我檢索了一些HTML代碼在代碼塊中編碼的文本。它正在顯示文本,但沒有格式化它。我如何顯示帶格式的文本?從嵌入代碼塊顯示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>沒有運氣。

+0

如果您查看網頁的源文件,你怎麼看? – stuartd

+0

它看起來和顯示的一樣:警察今天在市中心逮捕了50 示威者。我希望它被視爲HTML雖然。 – Tums

回答

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; 
    } 
} 
0

你可以嘗試使用eval()

<%#的DataBinder.Eval(的Container.DataItem, 「姓名」)%>僅<%#的DataBinder.Eval(的Container.DataItem, 「價格」, 「{0:C}」)%>
「>查看詳情

+0

我以爲eval()是邪惡的...;) – Tums

+0

不幸的是,這也沒有奏效。 – Tums

+0

奇怪的問題,認爲可能有效。抱歉。 – Mike