[英]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.