这是一个简单代码的简单问题,我只是想详细一点以确保我被理解。
为 ASP.NET MVC 应用程序生成的标准视图将有一个删除视图,其结尾如下 -
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<p>
<input type="submit" value="Delete" /> |
@Html.ActionLink("Back to List", "Index")
</p>
}
控制器方法是标准的 -
public ActionResult Delete(int addressID)
{
Address address = db.Address.Find(addressID);
if (address == null)
{
return HttpNotFound();
}
return View(address);
}
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int addressID)
{
Address address = db.Address.Find(addressID);
db.Address.Remove(address);
db.SaveChanges();
return RedirectToAction("Index");
}
这产生的 HTML 看起来像 -
<form action="/Address/Delete?AddressID=2" method="post">
<input name="__RequestVerificationToken" type="hidden" value="...snip..." /> <p>
<input type="submit" value="Delete" /> |
<a href="/Address">Back to List</a>
</p>
</form>
如您所见,AddressID 包含在表单操作中,但我没有“做”任何事情来把它放在那里。我刚刚把模型打包了。
AddressID 如何进入表单操作?