0
//
// GET: /Movies/Edit/5

public ActionResult Edit(int id = 0)
{
    Movie movie = db.Movies.Find(id);
    if (movie == null)
    {
        return HttpNotFound();
    }
    return View(movie);
}

//
// POST: /Movies/Edit/5

[HttpPost]
public ActionResult Edit(Movie movie)
{
    if (ModelState.IsValid)
    {
        db.Entry(movie).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(movie);
}

私の理解では、HttpPost は、入力されたフォームを対応するビューに投稿することによってのみアクセスできます。movie私の混乱は、 HttpPost のnullnessmovieをチェックする必要があるかどうかnullです。どう思いますか?である可能性はありmovieますnullか?

理由を述べて、私の質問に賢明に反対票を投じてください!

4

2 に答える 2

0

ModelState.IsValid は、モデルに NULL 参照が含まれているかどうかではなく、モデル エラーが ModelState に追加されたかどうかのみを通知します。

public ActionResult Edit(Movie movie)
{
    if(movie == null)
    {
        // or what else you what...
        return View();
    }

    if (ModelState.IsValid)
    {
        db.Entry(movie).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(movie);
}
于 2013-06-18T13:31:44.307 に答える