从下面的示例中可以看出在ASP.NET中加载DropDownList哪个方法更受欢迎?为什么?
方法1:
构建一个加载了实体信息的ListItem
个对象数组,并使用DropDownList.Items.AddRange
方法加载列表。
方法2:
构建BindableList<T>
个实体对象集合,并使用DropDownList.DataSource
方法加载列表。
方法3:
构建List<T>
个实体对象集合,并使用DropDownList.DataSource
方法加载列表。
提前致谢。
答案 0 :(得分:5)
所有方法对于下拉列表都有相同的结果,但各有利弊。以下是一些简短的答案:
方法1与List Controls紧密结合。我不喜欢使用方法1,因为它不会提供如此大的灵活性,如果将来我将不得不将数据绑定到网格它将无法工作。
速度:如果ListItem太多,此方法会慢一点。因为您必须将业务实体转换为ListItem对象才能填充下拉列表。
如果您选择使用TwoWay数据绑定,则Method2是不错的选择。但它在asp.net默认控件和机制中不受支持,因此它将在下拉列表中徒劳无功。
速度:这个方法会快一点,因为BindableList实现了IEnumerable,并且在调用DataBind时它将被迭代一次。
方法3最好是不错的选择,因为它是通用的,可扩展的,也可以与.net中的任何可绑定对象一起使用。
速度:此方法与Method2相同,因为List也实现了IEnumerable,并且在调用DataBind时将迭代一次。