У меня есть строка, которая выглядит как: Foo's Bazz
Рендер апострофа через MvcHtmlString.Create()
Я использую пользовательский HtmlHelper, чтобы сделать этот текст внутри сОн элемента:
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-представление апострофа, а не самого апострофа.
Я пробовал следовать совету, найденному в Escaping single quote from an MVC 3 Razor View variable, путем вызова JavaScriptStringEncode. Я также пытаюсь HtmlDecode. Не имеет никакого эффекта.
Мне было интересно, что мне нужно сделать, чтобы добиться рендеринга фактического апострофа, а не только разметки HTML внутри моего элемента div.
Амперсанд символ' должен быть закодирован в его код объекта '' & –
Почему JavaScript помечаются? – 2013-04-24 04:34:26