Я использую MVC с первой моделью. Я использовал [ValidateInput(false)]
на моем контроллере, который принимает богатый ввод текста. Это отлично работает. Теперь я нашел следующее сообщение, которое позволяет мне использовать [AllowHtml]
, который я бы предпочел (post).AllowHtml не работает с первой моделью
[MetadataType(typeof(YourEntityMetadata))]
public partial class YourEntityClass
{
}
public class YourEntityMetadata
{
[AllowHtml]
public string YourPropertyWithHtml { get; set; }
}
Я пробовал это, но это не сработало. По причинам тестирования я добавил AllowHtml
непосредственно в собственность в автогенерированной модели, которая также не работала. В обоих случаях я получил ту же ошибку «Потенциально опасный запрос ...»
Этот вопрос представляет собой простой богатый текст <p> lorem <\p>
от CKEditor. Контроллер вызывает отдельную функцию, которая выполняет фактическую запись для доступа к базе данных, а также доступ к первой модели ModelContainer.
Есть что-то в автогенерации, которая может помешать работе [AllowHtml]
. Это проблема в том, что контроллер не имеет прямого доступа или создания объекта, но передает строку другой функции, которая создает объект и сохраняет его в базе данных?
EDIT
Я отключил фильтры, которые проверяют для маркеров XSRF. У меня есть набор режимов проверки запроса:
<httpRuntime targetFramework="4.6.1" requestValidationMode="2.0" />
Я урезанная метод контроллера для:
public int SaveBlock(string blockCont)
{
var testt = new ViewTest() { BlockContent = blockCont };
return 0;
}
с простой вид модели:
public class ViewTest
{
[AllowHtml]
public string BlockContent { get; set; }
}
и до сих пор запрос отмечен «потенциально опасная» ошибка.
'[AllowHtml]' будет работать нормально, если применить его к правильному свойству. –
Вы не должны помещать что-либо в автоматически генерируемый код класса. Infact вам действительно не нужно это свойство в классе сущности. Вы должны создать модель представления для передачи данных из вашего представления в метод действия и применить этот атрибут к соответствующему свойству. – Shyju
Взгляните на [этот ответ] (http://stackoverflow.com/a/4866070/6268935) и [этот ответ] (http://stackoverflow.com/a/82170/6268935). – Arman