2013-05-27 3 views
3

나는 나는 단지 {Waiting, Approved, Rejected}MVC 4 면도기 DropDownList로

나는 강력한 형식의보기를 사용하려면 3 개 가능한 값을 가지도록 status 필요가이 모델을

public int id { get; set; } 
public string Status { get; set; } 

있습니다. 그래서 그것을하는 가장 좋은 방법은 무엇입니까? 내가

<select name="Status" id="Status"> 
      <option value="Waiting">Waiting</option> 
      <option value="Approved">Approved</option> 
      <option value="Rejected">Rejected</option> 
</select> 

를 사용하여야한다 내가 바람직하지만, 어쨌든 잘 될 것이라고 그 일의 status에 대한 Enum을 사용하고 싶습니다.

+1

[이 (http://stackoverflow.com/questions/388483/how-do-you-create-a-dropdownlist- from-an-enum-in-asp-net-mvc)는 당신이 enum을 사용할 때 도움이 될 것입니다. – Yoav

+0

당신이 조회 테이블을 생성해야만하거나 당신이 아래에 제안한 @Max Zhukov 인 콜렉션을 생성한다고 생각합니다. – Rajpurohit

+0

[DropDown MVC 4 면도기에서 바인딩] (http://lesson8.blogspot.com/2013/06/bind-dropdownlist-in-mvc4-razor.html) – Sender

답변

0
@{var listItems = new List<ListItem> 
{ 
     new ListItem { Text = "Waiting", Value="Waiting" }, 
     new ListItem { Text = "Approved", Value="Approved" }, 
     new ListItem { Text = "Rejected", Value="Rejected" } 
}; 
} 
    @Html.DropDownList("Approved",new SelectList(listItems,"Value","Text")) 
0

모델

public enum Status 
{ 
Waiting = 1, 
Approved = 2, 
Approved = 3 
} 

public Status Status { get; set; } 

public IEnumerable GetStatus 
{ 
get 
{ 
return 
Enum.GetValues(typeof(Status)).Cast().Select(p => new SelectListItem 
{ 
Text = p.ToString(), 
Value = p.ToString() 
}).ToList(); 
} 
} 

보기

@Html.DropDownListFor(model => model.Status,Model.GetStatus, “Select Status”) 
+0

코드 응답 만 사용되지 않습니다. 의견을 추가하십시오. –

관련 문제