C# 视图中的MVC 5枚举-隐藏单个元素
我有一个简单的电子邮件状态枚举C# 视图中的MVC 5枚举-隐藏单个元素,c#,razor,view,enums,asp.net-mvc-5,C#,Razor,View,Enums,Asp.net Mvc 5,我有一个简单的电子邮件状态枚举 public enum EmailStatus { Current, Suspended, Cancelled, [Display(Name = "")] invalid } 如果无法解析电子邮件,则会在内部设置“无效”标志。我不希望该状态显示在编辑字段中;用户应该能够暂停或取消电子邮件,但不能将其设置为无效 将显示名称设置为“”无效-仍然显示无效。razor中是否有这种机制,或者我必须自己滚动?从编辑字段数据中排除该选项
public enum EmailStatus
{
Current,
Suspended,
Cancelled,
[Display(Name = "")]
invalid
}
如果无法解析电子邮件,则会在内部设置“无效”标志。我不希望该状态显示在编辑字段中;用户应该能够暂停或取消电子邮件,但不能将其设置为无效
将显示名称设置为“”无效-仍然显示无效。razor中是否有这种机制,或者我必须自己滚动?从编辑字段数据中排除该选项。例如:
var statuses = from EmailStatus s
in Enum.GetValues(typeof(EmailStatus))
where s != EmailStatus.invalid
select new { Id = s, Name = s.ToString() };
ViewBag.Statuses = new SelectList(statuses, "Id", "Name");
这是一个简洁的答案;它符合要求,但代价是失去了enum本身——我希望可能有某种形式的装饰可以用来压制这个领域。如果我这样做,我可能也只有两个枚举-一个是内部的,一个是用于显示的!