2016-06-16 2 views
2

:ASP.NET MVC Html.EnumDropDownListFor 선택된 값

@Model.PhoneNumberType 

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

이없는 드롭 다운 목록에 enum의 값을 미리 선택합니다. enum 값을 표시하면 오른쪽 enum 값이 표시됩니다. DropDown은 항상 드롭 다운의 첫 번째 값으로 설정되지만 enum 필드의 값으로 설정되지는 않습니다.

enum 필드의 값으로 드롭 다운을 미리 선택하도록 EnumDropDownListFor을 어떻게 구성 할 수 있습니까?

답변

5

당신이해야하는 유일한 일은 모델을 전달할 때 enum 값을 설정하는 것입니다. (Test2를 기본적으로 선택 될 것이다)

약간의 예 :

모델

public class ModelTest 
    { 
     public EnumTest EnumTest { get; set; } 
    } 

    public enum EnumTest 
    { 
     Test1, 
     Test2, 
     Test3 
    } 

보기 :

@model WebApplication3.Models.ModelTest 

<div> 
    @Html.EnumDropDownListFor(model => model.EnumTest, new { @class = "form-control" }) 
</div> 

컨트롤러 :

public class HomeController : Controller 
{ 
    // GET: Home 
    public ActionResult Index() 
    { 
     ModelTest model = new ModelTest {EnumTest = EnumTest.Test2}; 
     return View("View",model); 
    } 
} 
+0

하지만이 말은 Please select라는 열거 형에 새 항목을 추가해야한다는 뜻입니까? – Ciwan

+0

빈 기본 옵션 (힌트 : nullable enum 사용)을 설정하는 좋은 방법은 [이 답변] (https://stackoverflow.com/a/23085333/957950)을 참조하십시오. – brichins

+0

POST에서이 열거 형의 컨트롤에서 선택된 값을 얻는 방법 – transformer