Как отключить проверку запросов в MVC3?
Я установил RC1-версию MVC 3 и использую Entity Framework 4 для своей модели.
ПРИМЕЧАНИЕ: у меня это отлично работало в MVC2, но MVC3 изменил то, как это работает.
Я прочитал следующие статьи и смог получить код ниже...
- Проверка гранулярного запроса в ASP.NET MVC 3
- Объявление о выпуске кандидата ASP.NET MVC 3
- Проверка с помощью валидаторов аннотации данных
Вот моя модель метаданных EF4...
[MetadataType(typeof(ArticleMetaData))]
partial class Article
{
}
public class ArticleMetaData
{
[SkipRequestValidation()]
public string Body { get; set; }
}
А вот упрощенная версия моего действия контроллера...
[HttpPost]
[Authorize(Roles = "Admin")]
[ValidateInput(false)]
public ActionResult Edit(string id, FormCollection values)
{
Article article;
article = GetArticle(id);
UpdateModel(article);
if (ModelState.IsValid)
{
Repository.SaveChanges();
return RedirectToAction("Article", new { id = article.Slug });
}
return View(article);
}
Что я делаю неправильно? Есть ли лучший шаблон для меня, чтобы следовать?
1 ответ
Решение
Попробуй удалить [ValidateInput(false)]
и изменить FormCollection
в Article
,
Вот так хорошо работает...