2012-09-17 2 views
12

MVC4 면도기 및 Entityframework 사용 5. 열거 형을 생성 한 정수 TypeID 필드가있는 organization이라는 테이블이 있습니다. 코드에서 나는 setum을 사용하여 typeid를 설정하고 비교할 수 있습니다. 제가 패키지 nuget mvcscaffolding 통해 create.cshtml 어느 기본 vs2012 MVC 4 면도기 템플릿을 사용하거나 생성 할 때DropDownList EF5의 열거 형

public enum OrganisationType : int 
    { 
     Company = 1, 
     Department = 2, 
     Location = 4 
    } 

그러나 둘 유형 ID 필드를 무시한다. tt 템플릿을 수정하여 자동 생성되도록 생각했습니다. 하지만 처음에는 열거 형의 설명이 포함 된 이름을 드롭 다운 목록에 표시 할 수 있습니다.

+0

모델을 목록과 함께 드롭 다운 목록보기로 전달하고 있습니까? 그걸 디버그해라. – Ammar

+0

DropdownListFor를 사용하여 열거 형 값과 텍스트가있는 드롭 다운 목록을 채우려고합니까? – Kaf

답변

24

이것은 해결책이며, 자동으로이를 자동화하기 위해 TT 템플릿을 수정하는 것이 간단하지 않습니다.

@Html.DropDownListFor(model => model.TypeID, new SelectList(Enum.GetValues(typeof(Models.OrganisationType)))) 

이렇게하면 텍스트 값이 포함 된 드롭 다운 콤보 (회사, 부서, 위치)가 표시됩니다. 당신이 열거되어있는 모델에 대한 뷰를 스캐 폴딩하면

MVC5의 현재 버전에서
5

, 그것은이를 생성합니다 : 정확하게 팀의 솔루션과 동일하지만 약간 더 좋은 구문을 수행

@Html.EnumDropDownListFor(model => model.OrganisationType, 
          htmlAttributes: new { @class = "form-control" }) 

합니다.