如何更新视图内部更改的模型数据

时间:2015-02-22 20:16:54

标签: c# asp.net-mvc

我有一个我想要编辑的类别列表。我可以成功地将它们传递给控制器​​。

public ActionResult Edit()
{
    if (!IsAdmin) return RedirectToAction("Index", "Home");
    ViewBag.IsAdmin = IsAdmin;
    var categories = _model.Categories.ToList();
    return View(categories);
}

然后我想要编辑类别的名称。

@using MyStructures.Models
@model List<MyStructures.Models.Category>

@using (Html.BeginForm("Update", "Categories", FormMethod.Post))
{
    foreach (var category in Model)
    {
        var categoryToEdit = @category;
        <table>
            <tr>
                <td>Category Number: @category.Id</td>
                <td>@Html.EditorFor(x => categoryToEdit.Name)</td>
                <td colspan="2">
                    <input type="submit" value="Save"
                           formaction=@Href("~/Categories/Update/") />
                </td>
            </tr>
        </table>
    }

    <input type="submit" value="Cancel"
           formaction=@Href("~/Home/Index/") />
}

如何将更新后的值传递给&#34;更新&#34;控制器? Category obj的值为null。

[HttpPost]
public ActionResult Update(Category obj)
{
    var existing = _model.Categories.Find(obj.Id);
    existing.Name = obj.Name;
    _model.SaveChanges();
    return RedirectToAction("Index", "Home");
}

0 个答案:

没有答案