C# mvc4中下拉列表中的枚举值
如何在mvc4中使用枚举值创建下拉列表 我有一门语言课C# mvc4中下拉列表中的枚举值,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,如何在mvc4中使用枚举值创建下拉列表 我有一门语言课 public enum Language { English = 0 } 我的财产是 public Language Language { get; set; } 我将如何通过下拉列表调用视图您可以拥有一个视图模型: public class MyViewModel { public Language SelectedLanguage { get; set; } public IEnumerable<Se
public enum Language {
English = 0
}
我的财产是
public Language Language { get; set; }
我将如何通过下拉列表调用视图您可以拥有一个视图模型:
public class MyViewModel
{
public Language SelectedLanguage { get; set; }
public IEnumerable<SelectListItem> Languages
{
get
{
var languages =
from l in Enum.GetValues(typeof(Language))
select new { ID = (int)d, Name = d.ToString() };
return new SelectList(languages , "ID", "Name", this.SelectedLanguage);
}
}
}
另一种可能是编写一个自定义帮助程序,将封装此逻辑,如所示。您可以拥有一个视图模型:
public class MyViewModel
{
public Language SelectedLanguage { get; set; }
public IEnumerable<SelectListItem> Languages
{
get
{
var languages =
from l in Enum.GetValues(typeof(Language))
select new { ID = (int)d, Name = d.ToString() };
return new SelectList(languages , "ID", "Name", this.SelectedLanguage);
}
}
}
另一种可能是编写一个自定义帮助程序来封装此逻辑,如所示。这将完成以下工作:
public enum Language
{
English,
French,
Spanish
}
public static class Enum
{
public static IEnumerable<T> GetItems<T>()
{
return System.Enum.GetValues(typeof(T)).Cast<T>();
}
}
public class ViewModel
{
public Language Language
{
get;
set;
}
public IEnumerable<SelectListItem> Languages
{
get
{
return Enum.GetItems<Language>().Select(x => new SelectListItem() { Text = x.ToString(), Value = x.ToString() });
}
}
}
这将完成以下工作:
public enum Language
{
English,
French,
Spanish
}
public static class Enum
{
public static IEnumerable<T> GetItems<T>()
{
return System.Enum.GetValues(typeof(T)).Cast<T>();
}
}
public class ViewModel
{
public Language Language
{
get;
set;
}
public IEnumerable<SelectListItem> Languages
{
get
{
return Enum.GetItems<Language>().Select(x => new SelectListItem() { Text = x.ToString(), Value = x.ToString() });
}
}
}
提示:提示: