c# – 为视图创建或数据库存储定义选择/下拉选项的最佳实践方法
我还不确定最佳方式来存储前端显示或数据库存储的选择列表选项.
我一直在使用Enums,也使用描述装饰器(How do you create a dropdownlist from an enum in ASP.NET MVC?) 我现在想我也可以为这些东西创建一个完整的类,所以我可以完全控制地存储以下信息: >项目名称 是不是我应该考虑用手自己实现这一切?我想要一个非常可靠的方法来做到这一点,并且一个enum并不真的觉得它会削减它. 解决方法
是.枚举通常是leaky and insufficient abstractions,并不总是适合您实际希望表示的复杂域模型. 您可能需要考虑Headspring的Enumeration类(通过github,nuget),而不是自己动手.我们一直使用它而不是枚举,因为它几乎一样简单,而且更灵活. “状态”枚举的一个示例,并将其用作选择列表: public class State : Enumeration<State> { public static State Alabama = new State(1,"AL","Alabama"); public static State Alaska = new State(2,"AK","Alaska"); // .. many more public static State Wyoming = new State(3,"WY","Wyoming"); public State(int value,string displayName,string description) : base(value,displayName) { Description = description; } public string Description { get; private set; } } public IEnumerable<SelectListItem> Creating_a_select_list(State selected) { return State.GetAll().Select( x => new SelectListItem { Selected = x == selected,Text = x.Description,Value = x.Value.ToString() }); } 我不是想在这个特定的实现上卖给你,你当然可以自己编写代码(Enumeration类只有大约100行代码).但我绝对认为你会从超越基本的枚举中受益.根据您在问题中描述的方案,这是正确的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |