gpt4 book ai didi

asp.net-mvc-4 - 使用编辑器模板动态添加新字段

转载 作者:行者123 更新时间:2023-12-03 00:26:48 24 4
gpt4 key购买 nike

在我的 MVC4 项目中,我有一个类别 View 模型,其中包含产品 View 模型的集合。我使用编辑器模板来渲染单个产品 View 模型,并将产品 View 模型的集合传递给它:

类别 View 模型:

@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)

呈现集合中每个产品的编辑器模板:

<div class="editor-field">
@Html.EditorFor(model => model.ProductName)
@Html.ValidationMessageFor(model => model.ProductName)
</div>
// etc.

这非常有效,因为它会自动正确地命名和索引元素,因此所有产品都会作为父类别 View 模型的一部分发回 - 这是它的输出:

<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>

我需要让用户添加和删除产品。要添加新产品,我需要以某种方式动态渲染编辑器模板来创建新产品,并使每个字段正确索引/命名,即如果我已经有 2 个产品(索引 0 和 1),则新产品需要命名为例如:

Products[2].ProductName

我读过 Steve Sanderson 的这篇文章,但它看起来很笨拙,他使用 Guid 而不是连续索引字段来索引他的字段:

Editing a variable length list in MVC2

TIA

最佳答案

现在回答还不算晚,

我正在寻找您提供的链接对我有用的东西。现在我知道如何通过使用 EditorFor 中模型的 IEnumerable 属性中的添加/删除项来动态添加上传文件输入。

对于你的解决方案,我认为UIHint and template可以做任何你想做的事。在模板内,您可以foreach并指定id的格式。

关于asp.net-mvc-4 - 使用编辑器模板动态添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com