首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nerddinner删除

Nerddinner删除
EN

Stack Overflow用户
提问于 2012-11-21 15:31:13
回答 1查看 81关注 0票数 0

我是MVC的新手,我正在学习NerdDinner的代码。

查看:

代码语言:javascript
复制
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NerdDinner.Models.Dinner>" %>

<asp:Content ID="Title" ContentPlaceHolderID="TitleContent" runat="server">
    Delete Confirmation: <%:Model.Title %>
</asp:Content>

<asp:Content ID="Main" ContentPlaceHolderID="MainContent" runat="server">

    <h2>
        Delete Confirmation
    </h2>

    <div>
        <p>Please confirm you want to cancel the dinner titled: 
        <i> <%:Model.Title %>? </i> </p>
    </div>

    <% using (Html.BeginForm()) { %>

        <input name="confirmButton" type="submit" value="Delete" />        

    <% } %>

</asp:Content>

控制器:

代码语言:javascript
复制
    [HttpPost, Authorize]
    public ActionResult Delete(int id, string confirmButton) {

        Dinner dinner = dinnerRepository.GetDinner(id);

        if (dinner == null)
            return View("NotFound");

        if (!dinner.IsHostedBy(User.Identity.Name))
            return View("InvalidOwner");

        dinnerRepository.Delete(dinner);
        dinnerRepository.Save();

        return View("Deleted");
    }

控制器如何获取要删除的项的ID?视图上似乎没有任何内容包含要传递给控制器的ID。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 15:36:32

using (Html.BeginForm())将呈现一个HTML元素,该元素的action属性缺省为当前URI。

这意味着如果您当前使用的是/Dinner/Delete/5,则表单将发送到该URI,并且常规模型绑定将开始发挥作用,将5映射到{id}路由参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13488336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档