Как отключить проверку запросов в MVC3? - PullRequest
2 голосов
/ 12 ноября 2010

Я установил версию RC1 MVC 3 и использую 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 Ответ

3 голосов
/ 12 ноября 2010

Попробуйте удалить [ValidateInput(false)] и изменить FormCollection на Article.

Вот так хорошо работает ...

...