Asp.net mvc 如何在MVC WebGrid中为表单字段指定唯一名称

Asp.net mvc 如何在MVC WebGrid中为表单字段指定唯一名称,asp.net-mvc,webgrid,Asp.net Mvc,Webgrid,我正在尝试在MVC WebGrid中进行内联(也称为单元内)编辑,使用Ajax请求发布更改的数据。我正在使用数据注释来指定模型上的验证规则 典型的轴网柱定义如下所示: grid.Column("Name", GridHelper.Sort("Name", "Name", grid), format: @<text> @Html.EditorFor(x => item.Name) </text>) gr

我正在尝试在MVC WebGrid中进行内联(也称为单元内)编辑,使用Ajax请求发布更改的数据。我正在使用数据注释来指定模型上的验证规则

典型的轴网柱定义如下所示:

grid.Column("Name", GridHelper.Sort("Name", "Name", grid), format:
        @<text>
                @Html.EditorFor(x => item.Name)
        </text>)
grid.Column(“名称”,GridHelper.Sort(“名称”,“名称”,网格”),格式:
@
@EditorFor(x=>item.Name)
)
编辑器模板包含一条验证消息

问题是所有的“Name”字段都具有相同的名称ID“item_Name”;我本希望MVC足够聪明,可以添加索引后缀之类的东西,但显然不是。因此,即使其中一个字段存在问题,也会为相同名称的所有字段显示验证消息


我认为解决方案是以某种方式为所有字段设置唯一的ID。我知道我可以使用'input'元素来实现这一点,但我更愿意继续使用HTML助手和编辑器模板。

我本来打算建议使用输入元素,但看起来您已经想到了。您可以添加唯一的ID,但是,如果使用for循环,您可以使用“new{@ID='your_ID_'+i)}”作为html帮助器的参数来设置ID