.net - 加载 ASP.NET DropDownList 对象

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

下面的示例显示了在 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/

相关文章:

asp.net - Windows Azure VM SSL 和 Cloudapp.net

asp.net - Httphandler 可重用内存如何工作?

c# - TypeDescriptor.CreateProperty 不添加属性

c# - 如何让 NMecab 输出罗马字?

c# - 什么是 Control.Disposing 属性?

c# - 检测 .NET 程序集以捕获单元测试

c# - 了解文本编码(在 .Net 中)

c# - 如何在 C# 中检索单选按钮的名称属性

c# - 为什么我的数据绑定(bind)看到的是真实值而不是强制值?

javascript - 通过 dom 重复生成的 Polymer2 : Update view of array element,