2015-01-28 6 views
-1

내 MVC 응용 프로그램에는 사용자 정의 클래스 EquipmentMember이 있습니다.속성 또는 파생을 기반으로하는 사용자 정의 클래스의 사용자 정의 Display/EditorTemplates

나는이 두 클래스 각각에 대해 List 속성을 가진 뷰 모델을 가지고 있습니다. 내 Create보기에서

public class MyViewModel 
{ 
    //... 
    public List<Equipment> Equipment { get; set; } 
    public List<Member> Members{ get; set; } 
} 

내가 대신 다중 선택 목록의 모두 해당 필드에 JQuery와 자동 완성을합니다. 따라서이 기능을 사용하려는 모든 요소에 자동 완성 기능을 바인딩하는 대신 필요한 모든 자바 스크립트가있는 EditorFor 템플릿을 만들려고했습니다.

필자는 유도 방식을 사용하여이 작업을 수행 한 솔루션을 이미 발견했습니다. 하지만 같은 것을 달성하기 위해 사용자 정의 DataAnnotations 속성을 사용할 수 있는지 알고 싶습니다. 내 뷰 모델의 속성에 속성 (예 : [Autocomplete(Enabled = true)])이있는 경우 @Html.EditorFor(m => m.Members)은 내 사용자 정의 EditorTemplate을 대신 사용합니다.

이것이 가능합니까?
예인 경우 간단한 방법을 제공해주세요.

답변

1

UIHintAttribute은 사용할 EditorTemplate을 지정할 수 있도록 UIHintAttribute를 상속하는 사용자 지정 특성을 만들 수 있습니다. 예 :

public class AutoCompleteAttribute : UIHintAttribute 
{ 
     public AutoCompleteAttribute() : base("YourEditorTemplate") { 
     } 

     public Boolean Enabled { get; set; } 
}