Атрибуты модели, чтобы игнорировать проверку сущностей HTML - PullRequest
1 голос
/ 04 августа 2011

Я хочу ввести html в базу данных, а также отобразить его обратно как html. Я написал свою модель вида так:

public class TemplateVM
{
    [HiddenInput(DisplayValue = false)]
    public int TemplateId { get; set; }
    public string Name { get; set; }
    public string Content { get; set; }
}

свойство Content должно быть в состоянии принять HTML. Как я могу это сделать? Прямо сейчас выдает ошибку:

A potentially dangerous Request.Form value was detected from the client (Content="<p>test</p>").

Мне известно об использовании этого в действии, но я не хочу, чтобы оно применялось к каждому свойству.: * 10101 *

[ValidateInput (ложь)]

Ответы [ 2 ]

4 голосов
/ 05 августа 2011

Вместо использования атрибута ValidateInput для всей модели, я предлагаю использовать атрибут AllowHtml для свойства Content:

public class TemplateVM
{
    [HiddenInput(DisplayValue = false)]
    public int TemplateId { get; set; }
    public string Name { get; set; }
    [AllowHtml]
    public string Content { get; set; }
}

Этот атрибут применяется только для свойства Content, тогда как другиесвойства все еще проверены.

3 голосов
/ 04 августа 2011

Положите [ValidateInput(false)] поверх TemplateVM. Это будет применяться ко всем свойствам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...