Asp.net mvc 4 使用编辑器模板动态添加新字段
在我的MVC4项目中,我有一个带有产品视图模型集合的类别视图模型。我使用编辑器模板渲染单个产品视图模型,并将产品视图模型集合传递给它: 类别视图模型:Asp.net mvc 4 使用编辑器模板动态添加新字段,asp.net-mvc-4,mvc-editor-templates,Asp.net Mvc 4,Mvc Editor Templates,在我的MVC4项目中,我有一个带有产品视图模型集合的类别视图模型。我使用编辑器模板渲染单个产品视图模型,并将产品视图模型集合传递给它: 类别视图模型: @model CategoryViewModel @using MVC4PartialViews.Models.ViewModels <div class="editor-field"> @Html.EditorFor(model => model.CategoryName) @Html.ValidationM
@model CategoryViewModel
@using MVC4PartialViews.Models.ViewModels
<div class="editor-field">
@Html.EditorFor(model => model.CategoryName)
@Html.ValidationMessageFor(model => model.CategoryName)
</div>
@Html.EditorFor(x => x.Products)
我读过Steve Sanderson的这篇文章,但它看起来很笨拙,他用Guid而不是连续的索引字段来索引他的字段:
TIA在这里回答时不要迟到 我正在寻找一些你提供给我有用的链接。现在我知道了如何通过使用
EditorFor
中模型的IEnumerable
属性中的add/remove项动态添加上传文件输入
对于你的解决方案,我认为你可以做任何你想做的事。在模板内部,您可以
foreach
并指定id
的格式,以签出Jarrett Meyer的博客文章中概述的解决方案。总结如下。你做过你想要做的事吗?我有同样的观点,问同样的问题。如果有,你能分享一下吗?Thanks@Display在这篇文章之后,我换了一个名字,但我又回来了。我从上面的Steve Sanderson链接下载了代码示例,该链接有效,但他使用GUID作为索引。我将再试一次,看看是否可以使用连续的index@DisplayName我找到了Steve Sanderson的另一篇文章,他做了我需要的事情,但使用了Knockout.js。我试图将他的代码合并到我的项目中,但是回发到我的控制器将不起作用-它不会返回任何数据。因此,仍在寻找解决方案:-以下是文章:感谢分享您的经验。想要学习knockout js,没有时间,感觉使用它比straighforward ASP.NET MVC方法更合适Steve使用Guids应用此问题是StackOverflow上多个类似问题的重复。搜索“编辑变量集合/列表”及类似内容
<div class="editor-field">
@Html.EditorFor(model => model.ProductName)
@Html.ValidationMessageFor(model => model.ProductName)
</div>
// etc.
<div class="editor-field">
<input class="text-box single-line" id="Products_0__ProductName" name="Products[0].ProductName" type="text" value="Add 1st product for this Category" />
<span class="field-validation-valid" data-valmsg-for="Products[0].ProductName" data-valmsg-replace="true"></span>
</div>
Products[2].ProductName