У меня есть строка 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
Лучший способ, используйте HttpUtility.HtmlEncode(this.Text)
.
Работал для меня
Установите LiteralMode вашего LiteralControl для PassThrough:
<asp:LiteralControl ID="yourHtml" runat="server" LiteralMode="PassThrough"></asp:LiteralControl>
Из MSDN:
Если вы укажете PassThrough, все содержимое свойства Text передается на устройство или браузер без каких-либо изменений
Предупреждение. Надеюсь, вы уверены в том, что HTML в базе данных ничего не злонамерен, потому что это опасно.
Посмотрите на свойство Mode Literal
.