【发布时间】:2017-07-18 20:32:22
【问题描述】:
我通过循环数组来生成我的表单元素。所以我有一个数组 = ["name", "age"] 并遍历每个项目并创建一个具有适当名称和相关数据的文本框。
因此我动态地创建了我的表单元素,这样
<input class="input-validation-error text-box single-line" data-val="true" data-val-required="@arr[i] is required" id="@arr[i]" name="@arr[i]" type="text" value="">
<span class="field-validation-error" data-valmsg-for="@arr[i]" data-valmsg-replace="true"></span>
而不是:
@Html.EditorFor(model => model.age)
@Html.ValidationMessageFor(model => model.age)
但是,因此不会生成客户端消息。它会在服务器端验证中捕获错误,但客户端停止工作。
如何在保持动态创建表单的能力的同时让客户端消息正常工作,以便在代码中动态提供模型的属性名称?有什么办法吗?
@Html.EditorFor(model => model[@arr[i]])
@Html.ValidationMessageFor(model => model[@arr[i]])
我知道上面的代码不起作用,但它只是为了强调我在解决方案中寻找的内容。
【问题讨论】:
标签: c# asp.net-mvc razor