enumdropdownlist用于有条件隐藏项
本文关键字:隐藏 有条件 用于 enumdropdownlist | 更新日期: 2023-09-27 18:03:11
我想根据用户是否登录有条件地隐藏EnumDropDownListFor
中的元素。
Enum
public enum SortType
{
[Display(ResourceType = typeof(NavigationItems), Name = "BestMatch")]
Best_Match = 0,
[Display(ResourceType = typeof(NavigationItems), Name = "Alphabetical")]
Alphabetical,
[Display(ResourceType = typeof(NavigationItems), Name = "PriceAsc")]
PriceAsc,
[Display(ResourceType = typeof(NavigationItems), Name = "PriceDesc")]
PriceDesc
}
我想要隐藏的项目是PriceAsc
&PriceDesc
我已经尝试查看AutoGenerateFilter
和AutoGenerateField
属性,但无济于事。
视图/strong>
@Html.EnumDropDownListFor(x => x.sortType, new { id = "orderResults" })
var sortTypesToExclude = new[] { SortType.PriceAsc, SortType.PriceDesc }.Cast<int>();
var sortTypes = Enum.GetValues(typeof(SortType)).Cast<int>().Where(i => userLoggedIn || !sortTypesToExclude.Contains(i));
var sortTypesAsSelectList = sortTypes.Select(i => new SelectListItem() { Value = i.ToString(), Text = ((SortType)i).ToString() });