我的字符串我有產品名稱不想ASP.net逃避數據庫
abc® product1
場如果我從數據庫中獲取數據,並進行數據綁定到下拉列表。它成爲
<option value="2">abc &reg; product1</option>
我不想ASP.net逃脫®
到%amp;reg
。 我該怎麼辦?
我的字符串我有產品名稱不想ASP.net逃避數據庫
abc® product1
場如果我從數據庫中獲取數據,並進行數據綁定到下拉列表。它成爲
<option value="2">abc &reg; product1</option>
我不想ASP.net逃脫®
到%amp;reg
。 我該怎麼辦?
您想要在HTML encode之前將字符串顯示在HTML中。這將保留其名稱
在您的數據庫中您不應該存儲abc® product1
但abc® product1
。然後,當該值在頁面上呈現時,如果您使用<asp:DropDownList
,則需要對其進行HTML編碼。
我使用這樣的事(見下文),或許它會幫助你
首先,我編碼數字的entites數據(特殊符號),在數據庫中的數據推
當我從數據庫得到它,我在查看寫這樣的東西:
<% =Html.TextBox("test", Model.test).ToString().Replace("&#", "&#")%>
的一點是,當你在寫Model.test
,這實際上意味着Html.Encode(Model.test)
在我的情況下,我不想模擬解碼它(因爲它可能是XSS例如),但只寫入正確的數據輸入值
我無法更改數據庫數據。我該怎麼辦?在數據綁定方法中再次對字符串進行編碼? – Billy 2010-10-28 08:20:54
-1。你應該存儲數據 - 而不是它如何呈現 – 2010-11-22 16:53:03
@ m.edmondson,這正是我在我的回答中所建議的。你仔細閱讀過嗎? Quote:'在你的數據庫中,你不應該存儲abc ® product1但abc®product1'。也許我應該粗體**不應該**。 – 2010-11-22 16:58:18