首页 > 解决方案 > 在文本中使用 ASCII 的 Asp.Net MVC 下拉列表

问题描述

有什么方法可以强制 MVC 在 ASCII 值上不转义 &?

@Html.DropDownListFor(m => Model.IngredientList.ElementAt(i).AmountId, Model.Amounts, htmlAttributes: new { @class = "form-control" })

在数据库中的金额是

Id   Value
6    ½
9    ¾

MVC 生成以下选择列表。

<option value="6">&amp;#189;</option>
<option value="9">&amp;#190;</option>

我想要以下。

<option value="6">&#189;</option>
<option value="9">&#190;</option>

以便用户在下拉列表中看到 ½ 和 ¾。

更新: 以下代码有效,但您失去了与数据模型的绑定。

<select>
@for (int i = 0; i < Model.Amounts.Count; i++)
{
    <option value="@Model.Amounts.ElementAt(i).Value">@Html.Raw(Model.Amounts.ElementAt(i).Text)</option>
}
</select>

标签: asp.net-mvcasciidropdown

解决方案


你可以尝试一些jQuery:

$( document ).ready(function() {
  $('select option').each(function(){
   $repl = $(this).text().replace('amp;','');
   $(this).text($repl);
  });    
});

推荐阅读