2010-01-10 75 views
5

我在頁面上有一個asp.net detailsview控件。我注意到它始終顯示來自我的數據庫字段的原始文本,它不會解釋文本中的html - 因此它顯示< b> mytext </b>而不僅僅是粗體mytext。asp.net:DetailsView控件不解釋html

反正去解釋返回

問候 數據的HTML熔體

回答

8

你可以發佈你的控制代碼的控制?基礎知識是你需要將HtmlEncode屬性設置爲false。這是由於標籤和文本框處理編碼的方式有所不同,這是爲了保護您免受某些人可能在這些字段中輸入的惡意腳本的影響。

如果將它設置爲自動生成字段(默認值),則需要更改爲BoundField s或TemplateField s,並將違規字段的HtmlEncode Property設置爲false。

你可以看到一個code sample of the individual fields in MSDN,這裏有一個簡單的例子:

<asp:DetailsView runat="server" AutoGenerateRows="False"> 
    <Fields> 
    <asp:BoundField DataField="ProductName" HeaderText="Product" /> 
    <asp:BoundField DataField="CategoryName" HeaderText="Category" /> 
    <asp:BoundField DataField="HTMLField" HeaderText="HTML" HtmlEncode="false" /> 
    </Fields> 
</asp:DetailsView> 
+0

的HTMLEncode =「假」的伎倆,非常感謝該提示。 – Melt