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

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

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

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

===============>>#1 票数:43 已采纳

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

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

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

===============>>#2 票数:8

GridView控件是DataGrid控件的后继者。 DataGrid控件一样, GridView控件设计用于在HTML表格中显示数据。 绑定到数据源时, DataGridGridView控件每个都会将DataSource中的一行显示为输出表中的一行。

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

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

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

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

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

===============>>#3 票数:7

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

===============>>#4 票数:5

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

===============>>#5 票数:1

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

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

===============>>#6 票数:1

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

===============>>#7 票数:1

数据网格

  1. DataGrid是在Asp.Net 1.0中引入的。
  2. 对于排序,我们需要处理SortCommand event并重新绑定所需的网格,对于分页,我们需要处理PageIndexChanged event并重新绑定所需的网格。
  3. 需要编写用于实现Update和Delete操作的代码。
  4. 不支持自动格式或样式功能。
  5. GridView相比,性能更快。

网格视图

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

Item这样的eventsproperties已更改为Row

例如,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

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

===============>>#8 票数:0

gridview和detail视图之间的一些基本差异

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

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

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

===============>>#9 票数:0

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

  ask by Dan Herbert translate from so

未解决问题?本站智能推荐: