Преобразовать обычную строку в IHtmlString?C#

Место общения программистов C#
Ответить
Anonymous
 Преобразовать обычную строку в IHtmlString?

Сообщение Anonymous »

Я пытаюсь написать метод расширения для HtmlHelper. Это модифицированная версия HtmlHelper.Raw(), которая выглядит следующим образом.

Код: Выделить всё

    /// 
/// 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));
}
}
Но оператор return выдает ошибку.

Невозможно неявно преобразовать тип «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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»