Публиковать данные из редактора HTML в действие контроллера в MVC - PullRequest
12 голосов
/ 17 марта 2011

Я использую плагин jquery.cleditor.js для редактора HTML в моем приложении MVC, и он работает нормально. Теперь я хочу отправить значение редактора в действие контроллера, но здесь я получаю следующее исключение:

A potentially dangerous Request.Form value was detected from the client 
    (NewContentPage.PageContents="<STRONG>dafs </STRON..."). 

Если у кого-то есть идея, пожалуйста, наведите меня на это.

1 Ответ

23 голосов
/ 17 марта 2011

Если вы добавите атрибут ValidateInput с false, это позволит вам отправить HTML. Просто имейте в виду, что вы проверяете все свойства в viewModel

[HttpPost, ValidateInput(false)]
public ActionResult DoStuff(MyViewModel viewModel)
{
    //...
}

Если вы используете .NET 4, вам также придется установить <httpRuntime requestValidationMode="2.0" /> в вашем файле web.config.


Если вы используете MVC 3, вам не нужно добавлять атрибут ValidateInput к действию контроллера, вы можете добавить атрибут AllowHtml к свойству в viewModel.

public class MyViewModel
{
    public string prop1 { get; set; }

    [AllowHtml]
    public string prop2 { get; set; }
}

Это позволяет использовать HTML для prop2, но остальные значения MyViewModel будут проверены.

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