我正在使用带有Razor的EF4 MVC 3.
我有以下ActionResult,它呈现一个Dictionary< string,string>进入局部视图.
行动
public ActionResult combotest() { Dictionary<string,string> r = new Dictionary<string,string>(); r.Add("<> ''","T"); ... return PartialView("_mypartial",r); }
现在,Model.Key值中包含的特殊字符是HTML编码,而我想将它们用作纯文本.例如<> ”呈现为& lt;& gt; &安培;#39;&安培;#39 ;.
我尝试使用WebUtility.HtmlDecode或Server.HtmlDecode转换它们但没有成功:
部分视图(_mypartial):
<select> <option value=''></option> @foreach (KeyValuePair<string,string> value in (Dictionary<string,string>)Model) { <option value="@WebUtility.HtmlDecode(value.Key)">@value.Value </option> } </select>
你可以帮帮我吗?如果可能的话,我会避免使用String.Replace.
解决方法
要显示未编码的文本,可以使用@ Html.Raw(value.key)