asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

在ASP.NET 3.5中使用新的ListView控件[1]


发布日期:2019年03月03日
 
在ASP.NET 3.5中使用新的ListView控件[1]

ASPNET中新的ListView控件为显示和CURD数据库操作提供了基于模板的布局使之成为一项极好的方式建立以数据为中心的Web应用程序

当你编写以用户为中心的应用程序时总需要某种形式的数据集起码来说你需要从一个数据源如关系数据库或XML文件检索数据在显示给用户之前先要进行格式化尽管ASPNET之前的版本就提供了以数据为中心的显示控件如GridView这些控件缺乏专业Web开发人员需要的可自定义和可扩展特性为了解决这个问题ASPNET提供了一个新的控件ListView它提供了非常优秀的自定义和扩展特性使用这些特性你可以以任何格式显示数据使用模板和样式同时用最少的代码执行CURD(创建读取更新删除)操作

本文主要集中于使用新的ListView控件时数据访问步骤同时还包括高级特性如编辑数据和处理事件

ListView控件入门

ASPNET提供的大部分数据绑定控件都是使用额外的标记自动封装显示数据举例来说GridView控件在一个HTML表格(<table>)中显示它的数据每条记录显示一行(<tr>)每个字段显示为一个单元格(<td>)虽然你可以使用TemplateField组件自定义GridView的外观但GridView的输出仍然是限制在一个table组件中的但有时候你想要完全控制由数据绑定控件产生的HTML标记的外观这正是ListView控件的优势ListView控件不是使用额外的标记来封装它的输出内容而是靠你指定的精确的HTML描述使用ListView控件内置的模板就可以指定精确的标记列出了ListView控件支持的模板

模板

用途

AlternatingItemTemplate

交替项目模板

用不同的标记显示交替的项目便于查看者区别连续不断的项目

EditItemTemplate

编辑项目模板

控制编辑时的项目显示

EmptyDataTemplate

空数据模板

控制ListView数据源返回空数据时的显示

EmptyItemTemplate

空项目模板

控制空项目的显示

GroupSeparatorTemplate

组分隔模板

控制项目组内容的显示

GroupTemplate

组模板

为内容指定一个容器对象如一个表行div或span组件

InsertItemTemplate

插入项目模板

用户插入项目时为其指定内容

ItemSeparatorTemplate

项目分隔模板

控制项目之间内容的显示

ItemTemplate

项目模板

控制项目内容的显示

LayoutTemplate

布局模板

指定定义容器对象的根组件如一个tablediv或span组件它们包装ItemTemplate或GroupTemplate定义的内容

SelectedItemTemplate

已选择项目模板

指定当前选中的项目内容的显示

最关键的两个模板是LayoutTemplate和ItemTemplate正如名字暗示的那样LayoutTemplate为ListView控件指定了总的标记而ItemTemplate指定的标记用于显示每个绑定的记录例如下面的代码显示了在ListView中由HTML table控制的一串项目

<asp:ListView ID= runat=server DataSourceID=>

<LayoutTemplate>

<table ……>

<tr runat=server ID=itemPlaceholder></tr>

</table>

</LayoutTemplate>

<ItemTemplate>

<tr>

<td><%# Eval(Name) %></td>

</tr>

</ItemTemplate>

</asp:ListView>

在前面的代码中LayoutTemplate标记内的<tr>标记的ID是设置项目占位符(itemPlaceHolder)它告诉ListView通过<table>内的ItemTemplate产生的内容要放到什么地方这就是为什么你需要单独定义LayoutTemplate和ItemTemplate模板的原因

[] [] [] []

               

上一篇:ASP.NET MVC和代码隐藏文件

下一篇:在ASP.NET 3.5中使用新的ListView控件[3]