[英]Display DropDownList
我正在嘗試使用enum
建立一個下拉列表。 我嘗試了以下操作,但不知道如何在視圖中顯示它。 我正在使用MVC framework
public enum Condition
{
And,
Or,
Not,
}
private List<Condition> userTypes = Enum.GetValues(typeof(Condition)).Cast<Condition>().ToList();
public List<Condition> UserType
{
get
{
return userTypes;
}
set
{
userTypes = value;
}
}
上面的代碼顯示一個簡單的下拉列表是否正確? 以及如何傳遞視圖以顯示下拉列表。 謝謝
在您的Action
:
ViewData["ddl"] = userTypes.Select(t => new SelectListItem { Text = t.ToString(), Value = ((int)t).ToString() });
在您的aspx
:
<%=Html.DropDownList("ddl", ViewData["ddl"] as IEnumerable<SelectListItem>)%>
其余的一切都很好。
您假設從屬性UserType
而不是Condition
類型返回string
列表。 其次,屬性必須是readonly
因為枚舉是恆定的,用戶不會更改它。 最后,不要使用變量,屬性本身可以處理此問題。
public List<string> UserType
{
get
{
return Enum.GetNames(typeof(Condition)).ToList();
}
}
在模型中添加一個類似於以下內容的列表:
\n 私有列表conditionList = Enum.GetValues(typeof(Condition))\n 。投()\n .Select(e => new SelectListItem {值=((int)e).ToString(),文本= e.ToString()}); \n
然后將其添加到您的視圖中
\n @ Html.EditorFor(M => m.Condition,Model.conditionList) \n
我相信這會使事情變得更容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.