c# – ASP.NET MVC删除视图 – 如何工作
发布时间:2020-12-16 01:57:36 所属栏目:百科 来源:网络整理
导读:这是一个简单的代码简单的问题,我只想详细说明我的理解. ASP.NET MVC应用程序的标准生成视图将具有删除视图,其结尾如下所示 – @using (Html.BeginForm()) { @Html.AntiForgeryToken() p input type="submit" value="Delete" / | @Html.ActionLink("Back to
这是一个简单的代码简单的问题,我只想详细说明我的理解.
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如何进入表单操作? 解决方法
这是由于您的方法签名导致的自动映射和asp.net路由.
public ActionResult Delete(int addressID) public ActionResult DeleteConfirmed(int addressID) 有关详细信息,请参阅Controllers and Action Methods in ASP.NET MVC Applications的“自动映射操作 – 方法参数”部分以及有关路由ASP.NET Routing的详细信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |