Где я должен кодировать эти HTML-данные на сайте asp.net MVC
Вот мой код вида:
<%=Model.HtmlData %>
вот мой код контроллера:
public ActionResult GetPage()
{
ContentPageViewModel vm = new ContentPageViewModel();
vm.HtmlData = _htmlPageRepository.Get("key");
return View(vm);
}
мой класс репозитория в основном запрашивает таблицу базы данных, которая имеет поля:
id, pageName, htmlContent
метод.Get() передает имя страницы (или ключ) и возвращает значение htmlContent.
Прямо сейчас я только начал это (еще ничего не сохранил в БД), поэтому сейчас я не делаю явного кодирования в своем коде.
Какова лучшая практика для того, где мне нужно сделать кодирование (в модели, контроллере, представлении??)
1 ответ
Решение
Кодирование является предметом озабоченности. У вас может быть два очень разных дисплея, использующих одну и ту же базу данных, поэтому часто не рекомендуется хранить данные в состоянии, требуемом конкретным представлением.
Как примечание стороны... Если вы используете.NET 4
<%: Model.HtmlData %>
Это новый
<%= Sever.HtmlEncode(Model.HtmlData) %>