我想更改DisplayFor
输出(格式化字符串),但是输出字符串中有一个&符。我该如何处理MvcHtmlString
以便不逃离&号?
这是cshtml文件中的代码:
@{
string title = @Html.DisplayFor(model => model.Entity.Description).ToString();
if (Model.City != null)
title = String.Format("{0} em {1}", title, Model.Entity.CityName);
ViewBag.Title = title;
}
model.Entity.Description在数据库中的值为
"Automóvel"
。但是输出以html形式呈现为Automóvel
。这是html输出:<p>Autom&#243;vel</p>
如果尝试在
Html.Raw()
中使用ViewBag.Title
,则不会显示标题。编辑:添加了更多详细信息
即使我尝试使用此代码的建议方法,
ViewBag.Title
也不会显示它。这是注释后的修改代码:@{
string title = Model.Entity.Description;
if (Model.City != null)
{
title = String.Format("{0} em {1}", Model.Entity.Description,
Model.Entity.CityName);
}
ViewBag.Title = Html.Raw(HttpUtility.HtmlDecode(title));
}
最佳答案
您无需以任何方式干扰标题,只需直接为其分配即可:
ViewBag.Title = Model.Entity.Description;
关于c# - MvcHtmlString.ToString在Razor中转义文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31479092/