Welcome 微信登录

首页 / 网页编程 / ASP.NET / 领先技术: ListView提示和技巧

领先技术: ListView提示和技巧2011-10-25 MSDN Dino Esposito在上月刊中为您介绍了 ListView 控件,它是 ASP.NET 3.5 控件工具箱中的一个新成员。概括来说, ListView 是 DataList 控件的增强版本,它提供了对生成标记的更多控制,还支持分页功能,并与基于 数据源的绑定模型实现了全面集成。

在本专栏中,我将深入介绍 ListView 模板和数据绑定的基础知识,以实现在实际页面中非常常见但 却需要额外编码的一些功能。您将了解到如何使用嵌套的 ListView 控件来创建数据的分层视图,以及如 何通过派生自定义 ListView 类来扩展 ListView 事件模型。

特别是,我将改进事件模型,以便您能够为不同的绑定数据项组使用不同的模板。例如,您可以对数 据集中与给定标准匹配的所有数据项使用不同的模板。这绝不仅仅是简单地将特定项目设置为不同的样式 ;您可以在任何视图控件中仅通过处理 ItemDataBound 事件即可轻松完成此任务。

通常,菜单是由一系列使用 CSS 设计的 <li> 标记实现的。呈现平面菜单不会引起任何特殊的 绑定问题,但如果需要一个或多个子菜单时会发生什么情况呢?在这种情况下,您可以使用内置的菜单控 件,也可以借助 ListView 来创建极具个性化的呈现方式。顺便说一下,要注意在默认情况下,菜单控件 使用基于表格的输出,这与 ListView 所提供的 CSS 友好输出截然不同。

构建分层菜单

许多 Web 应用程序都在页面的左侧或右侧提供了垂直菜单。利用此菜单,用户能够导航至二级或多级 嵌套页面。在这里 ASP.NET 菜单控件无疑是一种可行的选择。但是,我更倾向于仅当菜单需要使用分层 数据源(通常为 XML 文件)以及需要创建飞出式子菜单时才使用菜单控件。

对于静态的多级项目列表,我选择使用 repeater 型控件来输出 UI 设计团队创建的标记。在 ASP.NET 3.5 中,可供选择的 repeater 型控件是 ListView 控件。