请考虑这种情况:在某些业务领域中,有一些简单而固定的选项,我们可以将它们实现为组合框或单选按钮。
例如,对于状态组合框,请考虑以下示例:
(Bad , 1),
(Medium , 2),
(Good , 3),
(Well , 4)
对于此基本信息,我们在类中创建类型的静态方法(或属性),List
并且出于这种简单且常量的目的,我们未将其保存在数据库中。
现在考虑我们要创建一个只读视图,并在模型中使用它,StatusID
但是我们应该对该ID进行解码以显示其文本。我知道(根据我不完整的信息)2解决方案:
创建一个视图模型并StatusText
为其添加属性,并在我的控件中StatusID
使用我的静态方法进行解码
传递我的模型以在那里查看和解码
我想知道在这种情况下的最佳实践是什么。
非常感谢
我会把它们当作Enum
和在视图中使用@Html.EnumDropDownListFor(m=>m.StatusId, m=> m.MyEnum)
。
如果要自定义显示标签,请使用DisplayAttribute
枚举成员上的。
更新
如果您只想在标签中显示值,我仍然建议Enum
在视图中使用and <div>(@Model.Status.ToString() , @((int)Model.Status))</div>
。您可以替换<div>
为所需的任何元素。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句