2
我已经安装了RC1版本MVC 3,我正在为我的模型使用实体框架4。如何关闭MVC3中的请求验证?
注意:我在MVC2中工作得很好,但是MVC3改变了它的工作方式。
我已经阅读下面的文章,并能得到下面的代码...
- Granular Request Validation in ASP.NET MVC 3
- Announcing the ASP.NET MVC 3 Release Candidate
- Validation with the Data Annotation Validators
这里是我的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);
}
我在做什么错?有没有更好的模式让我跟随?
工作,谢谢。作为一个说明,我没有通过表单中的对象的所有值。对于处于类似情况的其他人,我从原始代码中改变的唯一东西是我将Article作为唯一参数。我仍然从数据库中加载文章并在其上调用UpdateModel。 – Brian 2010-11-12 00:50:37