加载ASP.NET DropDownList对象

时间:2010-11-08 23:44:43

标签: .net asp.net data-binding drop-down-menu

从下面的示例中可以看出在ASP.NET中加载DropDownList哪个方法更受欢迎?为什么?

方法1:

构建一个加载了实体信息的ListItem个对象数组,并使用DropDownList.Items.AddRange方法加载列表。

方法2:

构建BindableList<T>个实体对象集合,并使用DropDownList.DataSource方法加载列表。

方法3:

构建List<T>个实体对象集合,并使用DropDownList.DataSource方法加载列表。

提前致谢。

1 个答案:

答案 0 :(得分:5)

所有方法对于下拉列表都有相同的结果,但各有利弊。以下是一些简短的答案:

方法1与List Controls紧密结合。我不喜欢使用方法1,因为它不会提供如此大的灵活性,如果将来我将不得不将数据绑定到网格它将无法工作。

速度:如果ListItem太多,此方法会慢一点。因为您必须将业务实体转换为ListItem对象才能填充下拉列表。


如果您选择使用TwoWay数据绑定,则Method2是不错的选择。但它在asp.net默认控件和机制中不受支持,因此它将在下拉列表中徒劳无功。

速度:这个方法会快一点,因为BindableList实现了IEnumerable,并且在调用DataBind时它将被迭代一次。


方法3最好是不错的选择,因为它是通用的,可扩展的,也可以与.net中的任何可绑定对象一起使用。

速度:此方法与Method2相同,因为List也实现了IEnumerable,并且在调用DataBind时将迭代一次。