我最近开始使用 ASP.NET 3.5,之前使用 C# 和 WinForms(主要是 .NET 1.1)大约 6 年。
每次我需要允许用户查看、添加/删除或编辑项目列表时,我都会头晕目眩。这是由于以下控件的相似之处和不同之处
- 数据网格
- 网格视图
- 列表显示
- 数据列表
谁能指出我正确的方向,该列表对这些控件进行并排比较?
哪个是您的“最喜欢”,或者您最喜欢任何特定场景?
简短的回答,除了列表视图,它们都很糟糕;-) 根据您的具体情况,您可能希望查看第三方功能更全的网格,例如 Telerik 或 devexpress。
长答案,这取决于你想做什么。
DataGrid 和 DataList 主要用于向后兼容。GridView 和 DataList 比旧版本更好。
GridView 适用于您想要显示数据网格的情况。它主要免费为您提供 CRUD(创建读取更新删除)操作,并且主要免费提供分页和排序(取决于您使用的数据源类型)
DataList 适用于您想要更自由形式的值列表时。
ListView(和 datapager)是我们全新的 asp 3.5 控件,比 DataList 更自由。它允许您使用任何您喜欢的内容设置布局模板,以及将为列表中的每个项目重复的项目模板。您将容器元素(div/panel/placeholder)粘贴到布局模板中,然后告诉控件它是哪个,它会为列表中的每个项目重复项目模板。
您还可以将 DataPager 控件指向它,并且主要免费获得分页。
根据您正在做的网站类型,使用内置数据控件(除了中继器和列表视图)可能最终会将您画到一个角落,因为它们需要更多的开销。如果这是一个小型的一次性项目,那不是什么大问题。如果它是一个性能将成为问题的大项目,我建议再次检查第三方控件。