где я должен кодировать эти HTML-данные на сайте asp.net MVC - PullRequest
0 голосов
/ 26 мая 2010

вот мой код просмотра:

<%=Model.HtmlData %>

вот мой код контроллера:

    public ActionResult GetPage()
    {
        ContentPageViewModel vm = new ContentPageViewModel();
        vm.HtmlData = _htmlPageRepository.Get("key");
        return View(vm);
    }

мой класс репозитория в основном запрашивает таблицу базы данных с полями:

id, pageName, htmlContent

метод .Get () передает имя страницы (или ключ) и возвращает значение htmlContent.

Сейчас я только что начал это (еще ничего не сохранил в БД), поэтому сейчас я не делаю явного кодирования в моем коде.

Какова лучшая практика для того, где мне нужно сделать кодирование (в модели, контроллере, представлении ??)

1 Ответ

4 голосов
/ 26 мая 2010

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

В качестве примечания ... Если вы используете .NET 4

<%: Model.HtmlData %>

Это новый

<%= Sever.HtmlEncode(Model.HtmlData) %>
...