下面的示例显示了在 ASP.NET 中加载 DropDownList 时首选哪种方法,为什么?
方法一:
构建ListItem
的数组加载实体信息的对象并使用 DropDownList.Items.AddRange
加载列表的方法。
方法二:
构建一个 BindableList<T>
实体对象的集合并使用 DropDownList.DataSource
加载列表的方法。
方法三:
构建一个 List<T>
实体对象的集合并使用 DropDownList.DataSource
加载列表的方法。
提前致谢。
最佳答案
对于下拉菜单,所有方法的结果都相同,但各有优缺点。以下是一些简短的回答:
方法 1 与列表控件紧密结合。我不喜欢使用方法 1,因为如果将来我必须将数据绑定(bind)到网格,它就无法提供太多灵 active 。
速度:如果ListItem太多,这个方法会慢一点。因为您必须将业务实体转换为 ListItem 对象才能填充下拉列表。
如果您选择使用 TwoWay 数据绑定(bind),则方法 2 是不错的选择。但是在asp.net默认的控件和机制中是不支持的,用下拉列表就白用了。
速度:这个方法会快一点,因为BindableList实现了IEnumerable,调用DataBind时会迭代一次。
方法 3 是最好的选择,因为它是通用的和可扩展的,并且还可以与 .net 中的任何可绑定(bind)对象一起使用。
速度:该方法与Method2相同,因为List也实现了IEnumerable,调用DataBind时会迭代一次。
关于.net - 加载 ASP.NET DropDownList 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4129177/