2

ASP .NET MVC 3에서 Html.ActionLink를 사용하여 만든 부분 뷰에서 생성되지 않은 데이터 값 특성

View 

    Html.RenderPartial (1) 

    Html.RenderPartial (2) 

그런 다음 각 부분 뷰 중 하나에서

 @Ajax.ActionLink("Edit", "EditMethod", null, new AjaxOptions 
       { 
        HttpMethod = "POST", 
        InsertionMode = InsertionMode.Replace, 
        UpdateTargetId = "divEditContent" 
       }, new { @class = "my-edit" }) 

클릭하면 다른 부분을 렌더링하고 div "divEditContent"를 다음과 같이 바꿉니다.

xyz 부분에 다음과 같은 내용이 있습니다.

문제는 데이터 값 속성이 입력에 대해 렌더링되지 않지만 마지막 부분 (_MyEdit)을 배치하면 Ajax.ActionLink (1) 렌더링합니다.

이것은 버그입니까? 해결 방법은 없습니까? 미리 감사드립니다! Guillermo

업데이트

Chrome 또는 Firefox에서 Firebug로 이동하여보기 소스를 클릭하면 데이터 값 속성이 표시되지 않지만 클릭하면 정말 재미있는 것을 발견했습니다. 요소 검사에서 나는 그들을 본다. .. 이상한 ...

답변

2

데이터 유효성 검사 태그를 원하면 FormContext이어야한다. 동적 양식의 일부를 생성하는 경우 따라서, 당신은 당신의 부분보기에 다음 행을 포함해야합니다

@{ if(ViewContext.FormContext == null) {ViewContext.FormContext = new FormContext(); } 

당신은 당신이 동적으로 눈에 거슬리지 유효성 검사를 추가 할 때마다 리 바인드 확인해야을/제거 상품 :

$("#form").removeData("validator"); 
$("#form").removeData("unobtrusiveValidation"); 
$.validator.unobtrusive.parse("#form");