如何在MVC3中关闭请求验证?

时间:2010-11-12 00:16:56

标签: asp.net-mvc-3 requestvalidationmode

我已经安装了 MVC 3 的RC1版本,我正在为我的模型使用Entity Framework 4。

注意:我在MVC2中运行得很好,但MVC3改变了它的工作原理。

我已阅读以下文章,并且能够获得以下代码......

这是我的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 个答案:

答案 0 :(得分:3)

尝试删除[ValidateInput(false)]并将FormCollection更改为Article

这样的方式很好......