Asp.net mvc 2 ASP.NET MVC 2多个PartialView表单字段名冲突

Asp.net mvc 2 ASP.NET MVC 2多个PartialView表单字段名冲突,asp.net-mvc-2,validation,partial-views,conflict,Asp.net Mvc 2,Validation,Partial Views,Conflict,我有一个ASP.NET MVC 2网页,其中呈现了多个相同类型的PartialView。每个局部视图都包含一个用于发布smth的Ajax表单。表格包括: 输入:EditorFor(m=>m.content) 输入的验证:ValidationMessageFor(m=>m.Content) 问题在于,由于页面上有多个表单,因此输入字段的名称存在冲突。我可以通过添加EditorFor()重载的“htmlFieldName”属性来解决这个问题,但它会导致另一个问题;验证不再有效,因为输入字段的名称

我有一个ASP.NET MVC 2网页,其中呈现了多个相同类型的PartialView。每个局部视图都包含一个用于发布smth的Ajax表单。表格包括:

  • 输入:EditorFor(m=>m.content)
  • 输入的验证:ValidationMessageFor(m=>m.Content)
问题在于,由于页面上有多个表单,因此输入字段的名称存在冲突。我可以通过添加EditorFor()重载的“htmlFieldName”属性来解决这个问题,但它会导致另一个问题;验证不再有效,因为输入字段的名称已更改

有什么想法吗?

好的,我解决了。 问题是,冲突不是因为输入字段的ID,而是因为验证字段。现在它是这样工作的:

<%= Html.EditorFor(m => m.Content)%>
<%= Html.ValidationMessageFor(
         m => m.Content, 
         null, 
         new { id = Model.ValidationMessageId, name = Model.ValidationMessageId })%>
m.Content)%%>
m、 内容,,
无效的
新的{id=Model.ValidationMessageId,name=Model.ValidationMessageId})%%>
其中ValidationMessageId是模型的只读字符串属性,它为验证字段返回唯一的html id