Где я должен кодировать эти 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) %>
Другие вопросы по тегам