Форматирование строк в Бритве ASP.NET

Я в настоящее время пишу маленькую систему шаблонной обработки в ASP.NET, чтобы позволить пользователям добавлять содержание. Например, пользователь может ввести строку (тип переменной является строкой).

topHeader[x] = "They think it's all over. It is now!";

Однако одно изменение, это необходимо, является способностью добавить некоторые основные HTML-тэги в этом содержании, таким образом, следующее может быть сделано

topHeader[x] = "They think it's all over. <strong>It is now!</strong>";

или

topHeader[x] = "They think it's all over. <a title="Football News" href="URL">It is now!</a>";

Если Вы добавляете такие вещи в строки теперь, они не отформатированы как HTML, но я хочу так или иначе выйти из них так, чтобы они могли быть. Естественно я считал Интернет для ответа, но поскольку Бритва является довольно новой нет очень там для выручения меня.

У кого-либо есть идея того, как сделать это?

9
задан Mike B 27 July 2010 в 06:59
поделиться

2 ответа

Вам необходимо создайте реализацию IHtmlString , содержащую ваш исходный HTML-код.

Razor планирует создать вспомогательный метод, который сделает это за вас, но, AFAIK, его пока нет, поэтому я считаю, что вам нужно создать свой собственный класс, реализующий интерфейс и возвращающий ваш HTML из GetHtmlString () метод.
РЕДАКТИРОВАТЬ : вы можете использовать класс HtmlString .

Вы можете изменить свой словарь topHeader на IHtmlString вместо String s, либо оставить код как есть, но обернуть его HtmlString в представлении Razor:

<tag>@new HtmlString(topHeader[x])</tag>

Убедитесь, что правильно экранированы все специальные символы, не относящиеся к HTML.

9
ответ дан 4 December 2019 в 09:35
поделиться

SLaks прав, но вам не нужно писать собственную реализацию IHtmlString, есть встроенная в System.Web под названием HtmlString. Итак:

topHeader[x] = new HtmlString("They think it's all over. <a title=\"Football News\" href=\"URL\">It is now!</a>");

Должно получиться.

4
ответ дан 4 December 2019 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: