我有一个看起来像这样的字符串:Foo's Bazz
我正在使用自定义 HtmlHelper 在 div 元素中呈现此文本:
public static MvcHtmlString DisplayWithReadonlyIdFor<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression, object htmlAttributes)
{
string readonlyId = "Readonly" + helper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(ExpressionHelper.GetExpressionText(expression));
TagBuilder tag = new TagBuilder("div");
tag.MergeAttributes(new RouteValueDictionary(htmlAttributes));
tag.SetInnerText(helper.DisplayFor(expression).ToString());
return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal));
}
使用这段代码,我仍然看到撇号的 HTML 表示,而不是撇号本身。
我尝试通过调用 JavaScriptStringEncode 来遵循Escaping single quote from an MVC 3 Razor View variable中的建议。我也尝试过 HtmlDecode。两者都没有任何作用。
我想知道我需要做些什么来实现呈现实际的撇号,而不仅仅是我的 div 元素内的 HTML 标记。