2010-07-12 2 views
4

동일한 유형의 여러 PartialView를 렌더링하는 ASP.NET MVC 2 웹 페이지가 있습니다. 각 부분보기에는 스팸 게시 용 Ajax 양식이 들어 있습니다.ASP.NET MVC 2 다중 PartialView 양식 필드 이름 충돌

  • 입력 : EditorFor (m => m.content)
  • 입력에 대한 유효성 검증 ValidationMessageFor는 (m => m.Content)

문제가 형태의 구성 페이지에 이러한 양식이 두 개 이상 있기 때문에 입력 필드의 이름에 충돌이있는 것입니다. 이것은 EditorFor() 오버로드의 'htmlFieldName'속성을 추가하여 해결할 수 있지만 다른 문제가 발생합니다. 입력란의 이름이 변경되었으므로 유효성 검사가 더 이상 작동하지 않습니다 ...

아이디어가 있으십니까?

답변

1

좋아, 해결했습니다. 문제는 입력 필드의 ID가 아닌 유효성 검사 필드 때문입니다. 그래서 지금은 다음과 같이 작동 ValidationMessageId이 검증 필드에 고유 HTML ID를 반환하는 모델의 읽기 전용 문자열 속성입니다

<%= Html.EditorFor(m => m.Content)%> 
<%= Html.ValidationMessageFor(
     m => m.Content, 
     null, 
     new { id = Model.ValidationMessageId, name = Model.ValidationMessageId })%> 

합니다.