2009-02-24 5 views
7

최신 ASP.NET MVC Release Candidate로 업그레이드 한 후 Html Helpers를 사용할 때 마침표 "."가있는 이름이 나타났습니다. 요소 ID가 출력 될 때 밑줄 "_"로 바뀝니다.ASP.NET MVC가 Html Helper ID의 밑줄로 마침표를 바꾸지 못하도록 함

나는 이것이 to aid in using JQuery이라고 생각하며이 기간은 ModelBinders 사용을 돕는 것입니다. ID가 모두 바뀌면 프로토 타입을 사용하는 자바 스크립트가 모두 손상되었습니다.

이 기능을 쉽게 끄는 방법이 있습니까?

답변

14

ASP.NET MVC RC1 릴리스 정보 (15 페이지). 기본적으로이 릴리스에서는

는 도트 문자는 ID 속성의 값에 밑줄 자동 교체한다. 따라서 예를 들어, 텍스트 상자 다음과 같은 마크 업을 렌더링 :

<input type="text" name="Person.FirstName" id="Person_FirstName" />

가 기본 대체 문자를 변경하려면 대신 사용할 문자에 HtmlHelper.IDDotReplacementChar 속성을 설정할 수 있습니다.

참고하시기 바랍니다. http://www.codeplex.com/aspnet에있는 소스 코드를 보면 RC1의 속성 이름이 IdAttributeDotReplacement 인 것처럼 보입니다. 관련 코드 스 니펫은 아래에 있습니다. 도트를 유지하려면이 속성을 도트 문자로 설정하십시오. 즉 도트 문자를 자체로 바꿉니다.

public static string IdAttributeDotReplacement { 
    get { 
     if (String.IsNullOrEmpty(_idAttributeDotReplacement)) { 
      _idAttributeDotReplacement = "_"; 
     } 
     return _idAttributeDotReplacement; 
    } 
    set { 
     _idAttributeDotReplacement = value; 
    } 
} 
+2

JQuery 기본값을 돕는 데 이상한 방법이 있다고 가정합니다. HtmlHelper.IdAttributeDotReplacement = "를 추가했습니다."; 글로벌 Application_Start와 8 분 만에 온라인으로 다시 돌아 왔습니다.) 감사합니다. –

관련 문제