【转贴】ListView控件学习系列1-了解ListView控件
【转贴】ListView控件学习系列1-了解ListView控件
作者:方明
原贴地址:http://www.cnblogs.com/nuaalfm/archive/2008/09/01/1281646.html
目录:
ListView控件学习系列3-ListView选择,排序,分页
当你编写以用户为中心的应用程序时,总需要某种形式的数据集,起码来说,你需要从一个数据源如关系数据库或XML文件检索数据,在显示给用户之前先要进行格式化,尽管ASP.NET之前的版本就提供了以数据为中心的显示控件如GridView,但 GridView的输出仍然是限制在一个table组件中的,而且这些控件缺乏专业Web开发人员需要的可自定义和可扩展特性,有时候你想要完全控制由数据绑定控件产生的HTML标记的外观,这正是ListView控件的优势,ListView控件不是使用额外的标记来封装它的输出内容,而是靠你指定的精确的HTML描述,使用ListView控件内置的模板就可以指定精确的标记,它提供了非常优秀的自定义和扩展特性,使用这些特性,你可以以任何格式显示数据,使用模板和样式,同时用最少的代码执行CURD(创建、读取、更新、删除)操作。
我们先看一下ListView支持的模板
模板 |
用途 |
AlternatingItemTemplate 交替项目模板 |
用不同的标记显示交替的项目,便于查看者区别连续不断的项目 |
EditItemTemplate 编辑项目模板 |
控制编辑时的项目显示 |
EmptyDataTemplate 空数据模板 |
控制ListView数据源返回空数据时的显示 |
EmptyItemTemplate 空项目模板 |
控制空项目的显示 |
GroupSeparatorTemplate 组分隔模板 |
控制项目组内容的显示 |
GroupTemplate 组模板 |
为内容指定一个容器对象,如一个表行、div或span组件 |
InsertItemTemplate 插入项目模板 |
用户插入项目时为其指定内容 |
ItemSeparatorTemplate 项目分隔模板 |
控制项目之间内容的显示 |
ItemTemplate 项目模板 |
控制项目内容的显示 |
LayoutTemplate 布局模板 |
指定定义容器对象的根组件,如一个table、div或span组件,它们包装ItemTemplate或GroupTemplate定义的内容。 |
SelectedItemTemplate 已选择项目模板 |
指定当前选中的项目内容的显示 |
一、LayoutTemplate和ItemTemplate模板
标识定义控件的主要布局的根模板。它包含一个占位符对象,例如表行 (tr)、div 或 span 元素。此元素将由 ItemTemplate 模板或 GroupTemplate 模板中定义的内容替换。使用 LayoutTemplate 属性可以为 ListView 控件的根容器定义自定义用户界面 (UI)。LayoutTemplate 模板是 ListView 控件所必需的。LayoutTemplate 内容必须包含一个占位符控件,例如由 ItemTemplate 模板定义的项表行 (tr) 元素。占位符控件必须将 runat 属性 (Attribute) 设置为“server”,将 ID 属性 (Attribute) 设置为 ItemPlaceholderID 或 GroupPlaceholderID 属性 (Property) 的值(具体取决于 ListView 控件是否使用组)。
例如:
前端代码:

后台代码:

浏览器中得到的代码为:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述