ASP.NET MVC Helper将项添加到任意列表中

时间:2014-05-09 10:16:40

标签: c# jquery asp.net asp.net-mvc asp.net-mvc-5

我正在使用此technique显示可修改的项目列表。

@Html.EditorFor(m => m.Directorships)

这可以成功列出和编辑现有列表项,但我也想添加新项。在过去,我编写了一些客户端脚本(jQuery)来向列表中添加其他项并正确命名字段索引。但是,脚本被硬编码为模型属性名称。

我希望能够为所有列表重用该脚本。类似的东西:

@Html.EditorAndAdderFor(m => m.Directorships)

有没有人知道这个或可能实现的现有解决方案?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望有一个页面具有显示数据,更改数据和添加新数据的功能。

显示和编辑可以通过@ Html.EditorFor完成,就像你已经完成的那样。要在同一页面中添加功能,您应该使用表单创建部分视图,如下所示:

您的信息页:

@model MyProject.MyModels.MyModel

// The @Html.EditorFor stuff..

@Html.Partial("_AddForm")

_AddForm.cshtml:

@model MyProject.MyModels.Directorship

@using (Html.BeginForm("CreateDirectorshipActionName")) {
    @Html.EditorFor(m => m.Attribute1)
    // etc..

    <input type="submit" value="Add" />
}

您可以添加Ajax功能以保留在页面上,并在添加新的导演时重新加载或加载新数据