누구나 사용할 때 텍스트를 지정하는 방법에 대한 아이디어를 얻었습니다 Html.LabelFor(c=>c.MyField)
. 그것은 단지 MyField
, 대신 “슈퍼 환상적인 필드”를 할 수 있습니다 화면에 표시하기에 적절한 이름되지 않을 수도 있지만 과부하가있을 나타나지 않습니다.
어떤 아이디어?
답변
다음을 사용합니다 System.ComponentModel.DataAnnotations.DisplayAttribute
.
[Display(Name = "My Field")]
public string MyField { get; set; }
ResourceType
속성에 속성을 설정하면 리소스 파일을 사용할 수 있습니다.
(.NET 4 사용 이전 System.ComponentModel.DisplayNameAttribute
에는 표시 이름이 컴파일 타임 상수 여야한다는 점에주의했습니다.)
답변
쉬운 솔루션은보기에 다음을 추가하면됩니다.
@Html.LabelFor(c=>c.MyField, "My Field")
답변
MVC 3에는 새로운 오버로드가 있으므로 도우미의 레이블에 대한 사용자 지정 테스트를 지정할 수 있어야합니다.
답변
아직 v2를 다운로드하지 않았기 때문에 테스트 할 수는 없지만 DynamicData처럼 작동한다고 생각합니다.이 경우 모델에서 다음과 같이 할 수 있습니다.
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
답변
두 가지 방법이 있습니다
(1) “직접 주석을”
2 “리소스와 Annotatinos”
직접 주석
[Display(Name = "My Field")]
public string MyField { get; set; }
리소스가있는 Annotatinos
[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }
두 번째 방법은 Resource.resx 라는 이름의 리소스 파일에 값을 추가해야합니다 .
목적에 맞는 사용.
답변
아직 CP1을 확인하지 않았지만 Scott의 릴리스를 읽었으며 코드가 T4에서 생성 된 것을 기억하는 것 같습니다. 나는 당신이 항상 그것을 수정할 수 있다고 생각하지만 CP2에서 과부하를 제공 할 것이라고 생각합니다.
편집 : 소스는 항상 사용할 수 있으므로 방법을 변경하고 T4 생성기를 변경하면됩니다. 또한 해당 모드에 대한 티켓이나 요청 (어떻게 든)을 넣어 다음 버전에서 작업하도록합니다.
답변
5 개의 과부하가 있습니다. 몇몇은 “The Super Fantastic Field”로 설정하는 “string labelText”의 두 번째 매개 변수를 제공합니다.