我正在使用此technique显示可修改的项目列表。
@Html.EditorFor(m => m.Directorships)
这可以成功列出和编辑现有列表项,但我也想添加新项。在过去,我编写了一些客户端脚本(jQuery)来向列表中添加其他项并正确命名字段索引。但是,脚本被硬编码为模型属性名称。
我希望能够为所有列表重用该脚本。类似的东西:
@Html.EditorAndAdderFor(m => m.Directorships)
有没有人知道这个或可能实现的现有解决方案?
答案 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功能以保留在页面上,并在添加新的导演时重新加载或加载新数据