Как мне получить этот HTML для отображения в формате без тегов? - PullRequest
3 голосов
/ 30 октября 2011

Я создал блог (для практики кодирования). Я использую Rich Text Editor (ckeditor) и сохраняю сообщение в базе данных. Когда я извлекаю сообщение для отображения в Label.Text, в нем отображаются все теги HTML:

<p><strong>there was</strong> once a fox that lived</p>
<p> in the<span style="color: #ff0000"> woods</span></p>

Как получить сообщение для отображения с правильным форматированием (абзац, цвет и т. Д.), Но без тегов HTML?

Ответы [ 3 ]

7 голосов
/ 31 октября 2011

К вашему сведению: литерал дал тот же результат, что и лейбл ... но я получил ответ, это работает:

string strHTML = "<p>Hello World!</p>";
Label.Text = Server.HtmlDecode(strHTML);
6 голосов
/ 30 октября 2011

Хорошо, HTML - это форматирование, поэтому, чтобы текст отображался так, как вам нужно, вам нужно вставить текст как HTML на страницу, а не вставлять текст в Label.Text - который будет обрабатываться как обычный текст и отображать всю разметку.

Поэтому вместо создания метки используйте литерал:

<asp:Literal runat="server" ID="EditorOutput">

Тогда на вашей странице загрузится:

protected void Page_Load(object sender, EventArgs e)
{
    EditorOutput.Text = theText;
}

theText будет строкой:

<p><strong>there was</strong> once a fox that lived</p> <p> in the<span style="color: #ff0000"> woods</span></p>

как прочитано из вашей базы данных.

Если ваша строка была закодирована , вам нужно будет вызвать на нее Server.HtmlDecode, чтобы убедиться, что любые коды &lt; и &gt; преобразованы обратно в < и >.

Источник

0 голосов
/ 30 октября 2011

Я не поняла.Вы имеете в виду, что, когда вы проверяете сообщение, вы получаете что-то вроде:

<b>there was</b> once a fox that lived...

Вероятно, это хорошая идея сохранить его в формате .html, поскольку RTF никогда не предназначались для Интернета.Это также звучит так, как будто вам не нужно использовать базу данных.XML лучше для такого рода задач.

...