私は ASP.NET MVC の初心者で、asp.net のチュートリアルを読んでゼロから学んでいます。私の質問は単純すぎるかもしれませんが、答えが見つかりません。迅速な対応のため、ここで質問します。
アクション メソッドの編集:
// GET: /Movie/Edit/5
public ActionResult Edit(int id = 0)
{
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
}
//
// POST: /Movie/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);
}
削除アクション メソッド:
//
// GET: /Movie/Delete/5
public ActionResult Delete(int id = 0)
{
Movie movie = db.Movies.Find(id);
if (movie == null)
{
return HttpNotFound();
}
return View(movie);
}
//
// POST: /Movie/Delete/5
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
Movie movie = db.Movies.Find(id);
db.Movies.Remove(movie);
db.SaveChanges();
return RedirectToAction("Index");
}
更新と削除の HTTP POST を比較してみましょう。気になります:
アクション メソッド DeleteConfirmed がモデル オブジェクトではなくモデル ID をパラメーターとして使用するのはなぜですか?