我是MVC 5
的新手,我的目标是过滤要显示在下拉列表中的enum
中的列表
public enum DayofWeekType
{
Monday=1,
Tuesday= 2,
Wednesday=3,
Thursday=4,
Friday= 5,
Saturday=6,
Sunday= 7
}
我只想在登录的用户不是管理员时显示周五,周六和周日的下拉列表,找不到在
enum
中过滤Model
字段的解决方案,尝试在模型中添加条件,但始终会总结出错误。尝试搜索LINQ
和jQuery
解决方案。 最佳答案
你可以这样
var enumlist = Enum.GetValues(typeof(DayofWeekType)).Cast<DayofWeekType>().Select(v => new SelectListItem
{
Text = v.ToString(),
Value = ((int)v).ToString()
});
if (IsUser) //your condition here
{
enumlist= enumlist.Skip(4);
}
ViewBag.enumlist = enumlist;
在你看来
@Html.DropDownListFor(x=>x.Id,(IEnumerable<SelectListItem>) ViewBag.enumlist)
.Skip
将跳过第一个4
值,并以5th
值为Friday
开头关于c# - 如何过滤枚举并在下拉列表中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43447985/