[Flags]标识的Enum不能使用Html.GetEnumSelectList方法
生活随笔
收集整理的這篇文章主要介紹了
[Flags]标识的Enum不能使用Html.GetEnumSelectList方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在使用Asp.Net Core MVC寫(xiě)程序時(shí),對(duì)用戶類型做了如下定義:
namespace ManufacturingExecutionSystemCore.Enums {public enum UserType{[Description("無(wú)身份人員")][Display(Name = "無(wú)身份人員")]UnidentifiedPerson=0x00,[Description("生產(chǎn)人員")][Display(Name = "生產(chǎn)人員")]ProductionWorker = 0x01,[Description("生產(chǎn)主管")][Display(Name = "生產(chǎn)主管")]ProductionHead =0x02,[Description("生產(chǎn)經(jīng)理")][Display(Name = "生產(chǎn)經(jīng)理")]ProductionManager = 0x04,[Description("倉(cāng)庫(kù)人員")][Display(Name = "倉(cāng)庫(kù)人員")]WarehouseWorker = 0x08,[Description("倉(cāng)庫(kù)主管")][Display(Name = "倉(cāng)庫(kù)主管")]WarehouseHead =0x10,[Description("倉(cāng)庫(kù)經(jīng)理")][Display(Name = "倉(cāng)庫(kù)經(jīng)理")]WarehouseManager = 0x20,[Description("質(zhì)檢人員")][Display(Name = "質(zhì)檢人員")]QualityCheckWorker =0x40,[Description("質(zhì)檢主管")][Display(Name = "質(zhì)檢主管")]QualityCheckHead = 0x80,[Description("質(zhì)檢經(jīng)理")][Display(Name = "質(zhì)檢經(jīng)理")]QualityCheckManager =0x100,} }在寫(xiě)Razor時(shí),使用
<select asp-for="UserType" class="form-control" asp-items="@Html.GetEnumSelectList<UserType>()"></select>運(yùn)行時(shí)發(fā)現(xiàn)報(bào)錯(cuò):
An unhandled exception occurred while processing the request. ArgumentException: The type 'ManufacturingExecutionSystemCore.Enums.UserType' is not supported. Type must be an enum that does not have an associated FlagsAttribute. (Parameter 'TEnum') Microsoft.AspNetCore.Mvc.ViewFeatures.HtmlHelper.GetEnumSelectList<TEnum>()為記錄Html.GetEnumSelectList<UserType>()不支持FlagsAttribute標(biāo)識(shí)的Enum,特作此記錄。
如果各位有其他方法可以共同討論。
總結(jié)
以上是生活随笔為你收集整理的[Flags]标识的Enum不能使用Html.GetEnumSelectList方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【最强VSCode】之管理MySql数据
- 下一篇: 你遇到的面试官是「伯乐」吗?