Рендеринг HTML из базы данных на Asp.net

0

У меня есть строка Html, которая хранится в базе данных. Я беру эту строку и пытаюсь выполнить ее через литеральный элемент управления, но он снова возвращает полный HTML-код в этом литерале. Я также пробовал кодировку html, но он все еще не работает.

Мой текст, хранящийся в базе данных, выглядит следующим образом:

<p><b>Location. </b> <br />The Leela Palace Udaipur is a business-friendly property     located in Udaipur Lake Pichola neighborhood, close to Lake Palace, Jag Niwas, and Jagdish Temple. Additional points of interest include City Palace and Crystal Gallery. </p>

Но когда я просматриваю страницу, она такая же, как и выше.

Пожалуйста, помогите мне найти решение. Я не использую MVC

Теги:
sql-server

3 ответа

2

Лучший способ, используйте HttpUtility.HtmlEncode(this.Text).

Работал для меня

1

Установите LiteralMode вашего LiteralControl для PassThrough:

<asp:LiteralControl ID="yourHtml" runat="server" LiteralMode="PassThrough"></asp:LiteralControl>

Из MSDN:

Если вы укажете PassThrough, все содержимое свойства Text передается на устройство или браузер без каких-либо изменений

Предупреждение. Надеюсь, вы уверены в том, что HTML в базе данных ничего не злонамерен, потому что это опасно.

  • 0
    Снова завершенный HTMl-файл <asp: Literal ID = "Literal5" runat = "server" Text = "<% #: Item.hotelDescription%>" Mode = "PassThrough" />
  • 0
    Я пробую ваше предложение, но оно не работает
Показать ещё 6 комментариев
0

Посмотрите на свойство Mode Literal.

  • 0
    Значение свойства mode - transform
  • 0
    @jayeshbabel: установите режим «PassThrough»
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню