【发布时间】:2015-03-30 02:56:20
【问题描述】:
我从 VS MVC 5 可以创建的脚手架开始,它工作正常,但我希望能够从详细信息页面中删除记录(在本例中为“采访”)。
我首先将删除页面上删除按钮的标记复制到详细信息,但它只会重定向到详细信息操作。如何在详细信息页面上获得一个按钮来运行 DeleteConfirmed 方法?
这是来自控制器的相关代码:
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Interview interview = db.Interviews.Find(id);
if (interview == null)
{
return HttpNotFound();
}
return View(interview);
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Interview interview = db.Interviews.Find(id);
db.Interviews.Remove(interview);
db.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Interview interview = db.Interviews.Find(id);
if (interview == null)
{
return HttpNotFound();
}
return View(interview);
}
这是我从删除页面复制并放入详细信息视图的标记:
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-danger" />
</div>
}
这是我让它工作所需的标记:
@using (Html.BeginForm("Delete", "Interviews", new { id = Model.ID })) {
@Html.AntiForgeryToken()
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-danger" />
</div>
}
【问题讨论】: