ASP.NET中的DataGrid和GridView之间的区别?

时间:2008-08-07 00:54:32

标签: asp.net

我已经做了一段时间的ASP.NET开发,之前我已经使用了GridView和DataGrid控件来处理各种事情,但是我从来没有找到使用其中一个的正确理由。 。我想知道:

这两个ASP.NET控件有什么区别?两者的优点和缺点是什么?是一个更快吗?较新的?更容易维护?

控件的intellisense摘要似乎没有描述两者之间的任何差异。他们都可以查看,编辑和排序数据,并在运行时自动生成列。

编辑:Visual Studio 2008不再将DataGrid列为工具箱中的可用控件。如果您手动输入它,它仍然可用(我认为是遗留支持)。

9 个答案:

答案 0 :(得分:42)

DataGrid是一个ASP.NET 1.1控件,仍然受支持。 GridView到达2.0,使某些任务更简单,添加了不同的数据绑定功能:

此链接具有DataGrid和GridView功能的比较 -

https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx

答案 1 :(得分:8)

GridView控件是DataGrid控件的后继者。与DataGrid控件一样,GridView控件旨在显示HTML表格中的数据。当绑定到数据源时,DataGridGridView控件都会在DataSource中显示一行作为输出表中的一行。

DataGridGridView控件都来自WebControl类。虽然它具有与DataGrid控件类似的对象模型,但GridView控件还具有许多与DataGrid控件相比的新功能和优势,其中包括:

  • 更丰富的设计时功能。
  • 改进了数据源绑定功能。
  • 自动处理排序,分页,更新和删除。
  • 其他列类型和设计时列操作。
  • 具有PagerTemplate属性的自定义寻呼机用户界面(UI)。

GridView控件和DataGrid控件之间的差异包括:

  • 不同的自定义分页支持。
  • 不同的事件模型。

使用DataGrid控件时,对数据进行排序,分页和就地编辑需要额外的编码。 GridView控件使您无需编写任何代码即可添加排序,分页和编辑功能。相反,您可以通过在控件上设置属性来自动执行这些任务以及其他常见任务(如数据绑定到数据源)。

答案 2 :(得分:7)

DataGrid最初是在.NET 1.0中。在.NET 2.0中引入了GridView(并替换了DataGrid)。它们提供几乎相同的功能。

答案 3 :(得分:5)

如果您在Visual Studio 2008 / .NET 3.5中工作,则可能不应使用它们。使用ListView - 它为您提供了GridView的功能以及转发器的样式灵活性。

答案 4 :(得分:1)

关键区别在于ViewState管理IIRC。 DataGrid需要打开ViewState才能进行编辑和排序功能。

答案 5 :(得分:1)

安全性的一个关键区别是DataGrid使用BoundColumn,它不对绑定数据进行HtmlEncode。没有属性可以打开或关闭HtmlEncoding,所以你需要以某种方式在代码中执行它。

GridView使用BoundField,默认情况下对绑定数据执行HtmlEncode,如果需要将其关闭,则它具有HtmlEncode属性。

答案 6 :(得分:1)

DataGrid

  1. DataGridAsp.Net 1.0一起引入。
  2. 对于排序,我们需要处理SortCommand event并重新绑定网格 必需,并且需要分页,我们需要处理PageIndexChanged event 并重新绑定网格。
  3. 需要编写代码来实现更新和删除操作。
  4. 不支持自动格式或样式功能。
  5. GridView相比,性能更快。

GridView

  1. GridView是Asp.Net 2.0引入的。
  2. 内置支持Paging and Sorting
  3. 内置支持Update and Delete operations
  4. 支持自动格式或样式功能。
  5. DataGrid相比,性能慢。

eventsproperties之类的Item已更改为Row

例如,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

  • e.Item.ItemType - e.Row.RowType

答案 7 :(得分:0)

gridview和详细信息视图之间的一些基本差异

与DataGrid控件相比,GridView控件还具有许多新功能和优势,其中包括:

·更丰富的设计时功能。 ·改进的数据源绑定功能。 ·自动处理排序,分页,更新和删除。 ·其他列类型和设计时列操作。 ·具有PagerTemplate属性的自定义寻呼机用户界面(UI)。

GridView控件和DataGrid控件之间的差异包括: ·不同的自定义分页支持。 ·不同的事件模型。

答案 8 :(得分:0)

其中一个区别是HTML输出。数据网格将输出标题的TD,并且gridview将输出TH。这可能会导致显示不直观的变化。