Несколько действий, один и тот же вид и ошибки проверки - PullRequest
0 голосов
/ 03 февраля 2011

Предположим, что ошибки ModelState произошли в действии под названием AddComment (). AddComment не имеет своего собственного представления, поэтому вместо возврата View () мы должны вернуть View («Блог»). Мы не можем использовать RedirectToAction («Блог»), потому что теряем наши ошибки ModelState. Проблема в том, что если представление блога связано с моделью блога?!? Предположим, у нас есть действие Index (), работа которого заключается в извлечении данных из блога и возвращении View («Blog», BlogModel). Нам нужно было бы скопировать содержимое Index (), из которого извлекается BlogModel, в наше действие AddComment (). Иначе, возвращая View («Блог») из AddComment, мы получим нулевое исключение при разборе представления блога. Это единственный способ поддерживать ошибки ModelState между действиями, использующими одно и то же представление? Я только начал изучать MVC, и я все еще изучаю правильный способ размещения своего кода, поэтому, пожалуйста, просветите меня.

    [HttpGet]
    public ActionResult Index()
    {
        BlogEntry RecentBlogEntry;

        //get the most recent blog entry
        RecentBlogEntry = m_BlogEntryDataService.GetRecentBlogEntry();

        return View(RecentBlogEntry);
    }

    [HttpPost]
    public ActionResult AddComment(BlogComment NewComment)
    {
        if (ModelState.IsValid)
            m_CommentDataService.AddComment(NewComment);

        //get the most recent blog entry - AGAIN
        return View("Index", m_BlogEntryDataService.GetRecentBlogEntry());
    }

1 Ответ

0 голосов
/ 03 февраля 2011

Ваш код правильный.Вы должны получить самую последнюю запись в блоге снова, если произошла ошибка проверки, чтобы вы могли правильно отобразить представление.

...