Внимание! Это перевод вопроса How do you create a dropdownlist from an enum in ASP.NET MVC?
Я хочу создать выпадающий список Html.DropDownList
на основе моего перечисления:
public enum ItemTypes
{
Movie = 1,
Game = 2,
Book = 3
}
Как мне это реализовать?
@Html.EnumDropDownListFor(
x => x.YourEnumField,
"Select My Type",
new { @class = "form-control" })
Также в этой версии поддерживается атрибут Display
: вы можете добавить к каждому значению перечисления атрибуты вида [Display(Name = "Sample")]
и тот же самый код будет выводить в выпадающий список ваши сообщения.
@Html.DropDownList("MyType",
EnumHelper.GetSelectList(typeof(MyType)) ,
"Select My Type",
new { @class = "form-control" })
Используйте следующий extention:
namespace MyApp.Common
{
public static class MyExtensions{
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
where TEnum : struct, IComparable, IFormattable, IConvertible
{
var values = from TEnum e in Enum.GetValues(typeof(TEnum))
select new { Id = e, Name = e.ToString() };
return new SelectList(values, "Id", "Name", enumObj);
}
}
}
Это позволит вам писать так:
ViewData["taskStatus"] = task.Status.ToSelectList();
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день, проблема у меня возникла таковаЕсть combobox в нее подгружаются данные из dataset,
Пишу программу которая копирует файлы в разные папкиПапка, из которой я копирую файлы должна создаться и лежать в папке проекта (скрин)
Если написать MessageBox::Show("Строка1\nСтрока2"); То на выходе получаем сообщение с двумя строками