C# 如何在ASP.Net MVC4中从视图中的枚举中获取值
我对ASP.Net几乎没有经验,所以我想我应该问问 试图在create视图中从Enum传递一个值,以便将其传递到数据库,但我不知道如何传递,所以我尝试了一下 我有一个模型,它有一个名为pageID的字段:C# 如何在ASP.Net MVC4中从视图中的枚举中获取值,c#,asp.net-mvc-4,enums,C#,Asp.net Mvc 4,Enums,我对ASP.Net几乎没有经验,所以我想我应该问问 试图在create视图中从Enum传递一个值,以便将其传递到数据库,但我不知道如何传递,所以我尝试了一下 我有一个模型,它有一个名为pageID的字段: public class Article { public int pageID = 0; } public class ArticleDBContext : DbContext { public DbSet<
public class Article
{
public int pageID = 0;
}
public class ArticleDBContext : DbContext
{
public DbSet<Article> Articles { get; set; }
}
}
干杯试试Enum.GetValues
例如:
enum Colors{ White= 0, Pink= 100, Red= 200, Black= 300};
foreach(int i in Enum.GetValues(typeof(Colors)))
Console.WriteLine(i);
public static SelectList GetSelectedItemList<T>() where T : struct
{
T t = default(T);
if (!t.GetType().IsEnum) { throw new ArgumentNullException("Please make sure that T is of Enum Type"); }
var nameList = t.GetType().GetEnumNames();
int counter = 0;
Dictionary<int, String> myDictionary = new Dictionary<int, string>();
if (nameList != null && nameList.Length > 0)
{
foreach (var name in nameList)
{
T newEnum = (T) Enum.Parse(t.GetType(), name);
string description = getDescriptionFromEnumValue(newEnum as Enum);
if (!myDictionary.ContainsKey(counter))
{
myDictionary.Add(counter, description);
}
counter++;
}
counter = 0;
return new SelectList(myDictionary, "Key", "Value");
}
return null;
}
private static string getDescriptionFromEnumValue(Enum value)
{
DescriptionAttribute descriptionAttribute =
value.GetType()
.GetField(value.ToString())
.GetCustomAttributes(typeof(DescriptionAttribute), false)
.SingleOrDefault() as DescriptionAttribute;
return descriptionAttribute == null ?
value.ToString() : descriptionAttribute.Description;
}
public enum PageIndex : int
{
[Description("Developmental Disabilities Tip Sheet")]
ddTipSheets = 1,
[Description("Hiiiiiiiiiiiiiiiiiiii")]
Example1 = 2,
[Description("I don't know what I'm doing")]
Example2 = 3
};
enum Colors{ White= 0, Pink= 100, Red= 200, Black= 300};
foreach(int i in Enum.GetValues(typeof(Colors)))
Console.WriteLine(i);