我从事 ASP.NET 开发已经有一段时间了,之前我曾使用 GridView 和 DataGrid 控件来完成各种任务,但我从来没有找到使用其中之一的真正充分理由。我想知道:

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

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

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

有帮助吗?

解决方案

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

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

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

其他提示

GridView 控制是继任者 DataGrid 控制。像 DataGrid 控制, 的 GridView 控件设计用于在 HTML 表格中显示数据。当绑定到数据源时, DataGridGridView 每个控件显示一行 DataSource 作为输出表中的一行。

这俩 DataGridGridView 控制源自 WebControl 班级。尽管它具有与 DataGrid 与 GridView 控件相比,GridView 控件还具有许多新功能和优点 DataGrid 控制,其中包括:

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

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

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

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

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

如果您使用的是 Visual Studio 2008 / .NET 3.5,您可能不应该使用其中任何一个。使用 ListView - 它为您提供 GridView 的功能以及转发器的样式灵活性。

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

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

GridView 使用 BoundField,它默认对绑定数据执行 HtmlEncode,如果您需要将其关闭,它有一个 HtmlEncode 属性。

数据网格

  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.

eventsproperties 喜欢 Item 已更改为 Row.

例如,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

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

gridview 和详细信息视图之间的一些基本区别

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

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

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

差异之一是 HTML 输出。datagrid 将输出标题的 TD,而 gridview 将输出 TH。这可能会导致显示发生不直观的变化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top