【问题标题】:Master/detail editing - passing value to detail model property主/细节编辑 - 将值传递给细节模型属性
【发布时间】:2013-02-18 06:43:37
【问题描述】:

我有两张桌子DealDealDetail。我创建了两个控制器方法。

    //
    // GET: /DealDetail/Create/5

    public ActionResult Create(int id)
    {
        var deal = _db.Deals.Find(id);
        ViewBag.Deal = deal;
        return View();
    }

    //
    // POST: /DealDetail/Create/5

    [HttpPost]
    public ActionResult Create(int id, DealDetail dealdetail)
    {
        dealdetail.DealId = id;
        if (ModelState.IsValid)
        {
            _db.DealDetails.Add(dealdetail);
            _db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(dealdetail);
    }

但是,如何确保使用/DealDetail/Create/5 而不是/DealDetail/Create 的url 发布以下html 代码?

@Html.Partial("_Deal", (Models.Deal)ViewBag.Deal)
@using (Html.BeginForm()) {
        ......
        <input type="submit" value="Create" />
    </fieldset>
}

或者有没有办法在cshtml文件中将DealDetail.DealID设置为ViewBag.Deal.DealId(id)的值?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


    【解决方案1】:

    我认为这应该可以满足您的需求:

    Html.BeginForm("Create","DealDetail", new { id = Model.DealID }, FormMethod.Post);
    

    无论你是从你的 Model 还是 ViewBag 分配 id,重要的一点是分配 id,剩下的事情应该由路由引擎和你现有的 Controller 逻辑来完成。

    【讨论】:

      猜你喜欢
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多