在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表格中显示数据。 当绑定到数据源时, DataGridGridView控件将在DataSource显示一行作为输出表中的一行。

DataGridGridView控件都是从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属性。