在ASP.NET中的DataGrid和GridView之间的区别?
我一直在做ASP.NET开发一段时间,我已经使用了GridView和DataGrid控件之前的各种事情,但我永远不能find一个很好的理由使用一个或另一个。 我想知道:
这两个ASP.NET控件有什么区别? 两者的优缺点是什么? 有一个更快? 较新的? 更容易维护?
控制智能概要似乎没有描述两者之间的任何区别。 他们都可以查看,编辑和sorting数据,并在运行时自动生成列。
编辑: Visual Studio 2008不再将DataGrid作为工具箱中的可用控件列出。 如果您手动input,仍然可用(对于我所假设的传统支持)。
DataGrid是ASP.NET 1.1控件,仍然受支持。 GridView到达2.0,使某些任务更简单,添加不同的数据绑定function:
这个链接有一个DataGrid和GridViewfunction的比较 –
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
DataGrid最初是在.NET 1.0中。 在.NET 2.0中引入了GridView(并replace了DataGrid)。 他们提供几乎相同的function。
GridView
控件是DataGrid
控件的inheritance者。 像DataGrid
控件一样, GridView
控件被devise为在HTML表格中显示数据。 当绑定到数据源时, DataGrid
和GridView
控件将在DataSource
显示一行作为输出表中的一行。
DataGrid
和GridView
控件都是从WebControl
类派生的。 虽然它有一个类似于DataGrid
控件的对象模型,但是与GridView控件相比,GridView控件还具有许多新的特性和优点,包括:
- 更丰富的devise时间function。
- 改进的数据源绑定function。
- 自动处理sorting,分页,更新和删除。
- 附加的列types和devise时的列操作。
- 具有PagerTemplate属性的自定义寻呼机用户界面(UI)。
GridView
控件和DataGrid
控件之间的差异包括:
- 不同的自定义分页支持。
- 不同的事件模型。
使用DataGrid
控件时,对数据进行sorting,分页和就地编辑需要额外的编码。 GridView
控件使您能够添加sorting,分页和编辑function,而无需编写任何代码。 相反,您可以通过在控件上设置属性来自动执行这些任务,以及其他常见任务(如数据绑定到数据源)。
如果你在Visual Studio 2008 / .NET 3.5中工作,你可能不应该使用。 使用ListView – 它为您提供了GridView的function,结合中继器的样式灵活性。
关键的区别在于ViewStatepipe理IIRC。 DataGrid需要打开ViewState才能具有编辑和sortingfunction。
gridview和detail view之间的一些基本区别
GridView控件在DataGrid控件上也有许多新的特性和优点,包括:
·更丰富的devise时间function。 ·改进了数据源绑定function。 ·自动处理sorting,分页,更新和删除。 ·附加的列types和devise时的列操作。 ·具有PagerTemplate属性的自定义寻呼机用户界面(UI)。
GridView控件和DataGrid控件之间的差异包括:·不同的自定义分页支持。 ·不同的事件模型。
一个关键的差异安全明智的是,DataGrid使用BoundColumn不HtmlEncode绑定的数据。 没有属性可以打开或closuresHtmlEncoding,所以你需要以某种方式在代码中执行。
GridView使用BoundField,默认情况下在绑定的数据上执行HtmlEncode,如果需要将其closures,则它具有HtmlEncode属性。