在我的控制器中,我尝试了类似的方法:
[HttpDelete, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Movie movie = db.Movies.Find(id);
db.Movies.Remove(movie);
db.SaveChanges();
return RedirectToAction("Index");
}
点击后,转向没有访问上面的方法。如果有什么遗漏?也许问题出在带有 html 代码的视图中。我正在使用标准格式,例如:
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<p>
<input type="submit" value="Delete" formmethod="delete"/> |
@Html.ActionLink("Back to List", "Index")
</p>
}
我也试过Html.BeginForm("Delete", "Action", FormMethod.Delete)
,但 IntelliSense 不支持(它显示只有 FormMethod.Get 和 FormMethod.Post)。
据我所知,Delete 方法正是用来操作要从数据库中删除的对象。如果我是对的,你能解释一下吗?如果不是 - 为什么?如果是 - 请告诉我,如何实现该方法的好方法。