我有一个产品名称为
的字段abc® product1
如果我从数据库获取数据并将其数据绑定到下拉列表。它变成
<option value="2">abc &reg; product1</option>
我不希望ASP.net将®
转移到%amp;reg
。
我该怎么办?
答案 0 :(得分:1)
我正在使用这样的东西(见下文),也许它会帮助你
首先我在数字实体中编码数据(特殊符号),在数据库中推送数据时
当我从数据库收到它时,我在View中写下这样的东西:
<% =Html.TextBox("test", Model.test).ToString().Replace("&#", "&#")%>
重点是,当你写Model.test
时,这实际上意味着Html.Encode(Model.test)
在我的情况下,我不想对它进行模拟解码(因为它可能是XSS),但只将正确的数据写入输入值
答案 1 :(得分:0)
在您的数据库中,您不应该存储abc® product1
,而是abc® product1
。然后,当在页面上呈现此值时,您需要对其进行HTML编码,如果您使用<asp:DropDownList
,则会自动对其进行编码。
答案 2 :(得分:0)
如上所述,abc®是一个非常糟糕的字段名称。 它必须是那个吗?
答案 3 :(得分:-1)
您希望在HTML中显示字符串之前HTML encode。这将保留其名称