If (ModelState.IsValid == false) return View (); или вид (модель) ;? - PullRequest
10 голосов
/ 27 сентября 2010

Когда проверка не пройдена, какую я должен вернуть?Посмотреть();или Вид (модель);?

Я замечаю обе работы.Это сбивает с толку.

РЕДАКТ.

1 Ответ

11 голосов
/ 27 сентября 2010

Если представление, которое вы возвращаете, строго типизировано и использует модель, было бы лучше пропустить эту модель.Если вы просто return View() и в представлении вы пытаетесь получить доступ к модели, вы, скорее всего, получите NullReferenceException.

Ниже приведен общий шаблон:

public class HomeController: Controller
{
    public ActionResult Index()
    {
        var model = FetchModelFromRepo();
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(SomeViewModel model)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }        

        // TODO: update db
        return RedirectToAction("index");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...