ASP.NET网格视图与列表视图

在gridview上使用listview有什么好处? 我需要分页,编辑行,插入行,删除我的视图中的行。 哪个控制最适合? 看来GridView不支持数据寻呼机。 如果我将GridView迁移到列表视图,我会牺牲什么?

GridView支持:

  • 通过点击sorting
  • 分页
  • 编辑
  • select
  • 基于模板的布局(在<table>呈现)

ListView支持:

  • 项目清单
  • 分页(需要使用DataPager)
  • 编辑
  • select
  • 点击sorting(需要手动创build一个事件处理程序)
  • 基于模板的布局(根据需要呈现+提供更多模板,例如 – GroupTemplate)

使用ListView的原因是,如果你需要一些特殊的布局 ,例如,创build一个表,在同一行放置多个项目,或从基于表格的渲染中完全脱离) – 这是不可能的与GridView 。

另一方面, 使用GridView 更加简单快捷 ,除非需要特殊的布局来显示数据,否则使用GridView。

本文对比较特别有用 。

对我来说,这是您可以呈现HTML的原始灵活性。 在我正在开发的一个项目中,我使用了一个GridView,但用ListViewreplace了,因为我想要GridView无法提供的特定的分页需求。 我本可以使用第三方的gridview来提供分页的要求,但我想尽量减less对第三方代码的依赖。

在我看来,ListView是从ASP.NET 2.0迁移到3.5的一个很好的理由。

其真实依赖/要求控制使用的场景
ListView完全是模板驱动的,并且支持插入logging,你可以使用一个普通的html表格,并用CSS来显示数据,你可以很好地控制devise布局。
另一方面,GridView,你可以插入logging,但可以涉及使用页脚和objectdatasource_inserting事件。 您需要在gridview页脚中查找并捕获input的数据,然后直接添加到objectdatasource的input参数中。

ListView使您可以更好地控制生成的HTML标记。

Gridview是最好的select。 你可以做所有你提到的事情比任何其他控制更容易。 一个列表视图是从ListBox派生的

ListView控件支持以下function:

  • 支持绑定到数据源控件,如SqlDataSource,LinqDataSource和ObjectDataSource。

    通过用户定义的模板和样式自定义外观。

    内置分类function。

    内置更新和删除function。

    内置插入function。

    通过使用DataPager控件支持分页function。

    内置项目selectfunction。

    编程访问ListView对象模型来dynamic设置属性,处理事件等。

    多个关键字段。


    GridView在表格中显示数据源的值,其中每列表示一个字段,每行表示一条logging。 GridView控件使您可以select,sorting和编辑这些项目。

GridView控件用于在表中显示数据源的值。 每列表示一个字段,而每一行表示一个logging。 GridView控件支持以下function:

  • 绑定到数据源控件,如SqlDataSource。

    内置分类function。

    内置更新和删除function。

    内置分页function。

    内置行selectfunction。

    通过编程访问GridView对象模型来dynamic地设置属性,处理事件等等。

    多个关键字段。

    超链接列的多个数据字段。

    通过主题和样式自定义外观。

    要了解ASP.NET中可用的其他数据绑定控件,请参阅ASP.NET数据绑定Web服务器控件概述。