请考虑这种情况:在某些业务领域,我们可以将它们作为组合框或单选按钮实现一些简单且常量的选项。
例如,请考虑此示例的状态组合框:
(Bad , 1),
(Medium , 2),
(Good , 3),
(Well , 4)
对于这个基本信息,我们在类中创建了类型为List
的静态方法(或属性),对于这个简单和常量,我们没有将它们保存在数据库中。
现在考虑我们要创建一个只读视图,在模型中我们使用StatusID
但我们应该解码此ID以显示它的文本。我知道(根据我的不完整信息)2解决方案:
创建一个viewmodel,并使用我的静态方法在我的控件解码StatusText
中添加StatusID
属性
传递我的模型以在那里查看和解码
我想知道这种情况的最佳做法是什么。
非常感谢
答案 0 :(得分:2)
我会将它们设为Enum
并在视图@Html.EnumDropDownListFor(m=>m.StatusId, m=> m.MyEnum)
中使用。
如果您想要自定义显示标签,请使用枚举成员上的DisplayAttribute
。
<强>更新强>
如果您只想在标签中显示该值,我仍会建议您使用Enum
并在视图中<div>(@Model.Status.ToString() , @((int)Model.Status))</div>
。您可以用您需要的任何元素替换<div>
。