2013-05-27 5 views
3

Я имею эту модельMVC 4 Бритвы DropDownList

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

Мне нужно status иметь 3 возможных значения только {Waiting, Approved, Rejected}

Я хочу использовать строго типизированный. Так что это лучший способ сделать это? Должен ли я использовать

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

Я хотел бы использовать Enum для status предпочтительно, но в любом случае сделать это было бы прекрасно.

+1

[это] (http://stackoverflow.com/questions/388483/how-do-you-create-a-dropdownlist- from-an-enum-in-asp-net-mvc) поможет вам использовать 'enum' – Yoav

+0

. Думаю, вам нужно создать таблицу поиска или создать коллекцию, которую @Max Жуков предлагает ниже вас. – Rajpurohit

+0

[DropDown Bind in MVC 4 Razor View] (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

Только ответы на код устарели. Пожалуйста, добавьте комментарий –

Смежные вопросы