Код: Выделить всё
///
/// Wraps HTML markup in an IHtmlString, which will enable HTML markup to be
/// rendered to the output without getting HTML encoded.
///
///
HTML markup string.
/// An IHtmlString that represents HTML markup.
[SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification = "For consistency, all helpers are instance methods.")]
public IHtmlString Raw(string value)
{
return new HtmlString(value);
}
< /code>
Итак, я попытался написать следующее. < /p>
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Rendering;
using System.Web;
public static class HtmlHelperExtensions
{
public static IHtmlString Text(this IHtmlHelper helper, string text)
{
return new HtmlString(TextToHtml.Transform(text));
}
}
Невозможно неявно преобразовать тип «Microsoft.AspNetCore» .Html.HtmlString» на «System.Web.IHtmlString». Явное преобразование существует (вам не хватает приведения?)
Мне не понятно, почему код Microsoft работает, а мой — нет. TextToHtml.Transform() возвращает обычную строку. Кто-нибудь знает, как преобразовать его в IHtmlString?
Обновить
Я попробовал простое приведение, но это дает мне ошибку времени выполнения.
System.InvalidCastException: 'Невозможно привести объект типа 'Microsoft.AspNetCore.Html.HtmlString' к типу 'System.Web.IHtmlString'.'
Подробнее здесь: https://stackoverflow.com/questions/793 ... htmlstring
Мобильная версия