-1

我对 MVC 完全陌生,我决定尝试从 aspx WebForms 切换。我使用 MVC 视图创建器向导创建了一个视图,并选择了一个强类型类和一个编辑 Scaffold 模板。

我得到了以下

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Company</legend>

    @Html.HiddenFor(model => model.Id)

    <div class="editor-label">
        @Html.LabelFor(model => model.Name)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Name)
        @Html.ValidationMessageFor(model => model.Name)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.PhoneNumber)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.PhoneNumber)
        @Html.ValidationMessageFor(model => model.PhoneNumber)
    </div>        

    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

}

在控制器中,我有以下内容来获取模型详细信息

[System.Web.Http.HttpGet]
    public ActionResult Edit(int id)
    {
        var uow = new BlogUow();
        var company = uow.Companies.GetById(id);
        return View(company);
    }

这很好用,但问题是,我不知道如何实际保存新输入的详细信息。我过于依赖网络表单如何处理回发。

4

2 回答 2

1

您必须在控制器中为您的编辑编写一个发布操作:

[System.Web.Http.HttpPost]
    public ActionResult Edit(Companies company)
    {
      var uow = new BlogUow();
      if (ModelState.IsValid)
      {
         uow.Entry(company).State = EntityState.Modified;
         return RedirectToAction("Index");
       }
        return View(company);
    }
于 2013-01-26T10:54:42.880 回答
0

注意公司超载

  [HttpPost]
            public ActionResult Edit(Companies company)
            {
              var uow = new BlogUow();
              if (ModelState.IsValid)
              {
                 Edit here
               }
                return View(company);
            }
于 2013-01-27T09:55:24.320 回答