数据访问和定制
模板控件介绍
前面几个章节演示的DataGrid控件,对于许多需要使用类似表格那样来展示数据的web应用程序来说是非常适合的。但许多时候,需要用更丰富的形式来显示数据。Asp.net提供了两个控件,DataList和Repeater,对于类似列表的数据提供了非常灵活的控制方式。这两个控件是基于模板的,所以没有自己默认的表现。实施数据的方法完全由控件模板的执行,该模板描述如何呈现数据项目。 南通服务器网
类似于DataGrid控件,DataList 和 Repeater支持DataSource属性,该属性可以被设置为任何ICollection, IEnumerable, 或 IListSource类型。DataSource(数据源)中的数据可以使用DataBind方法来绑定。数据一旦被绑定,每个数据项的格式就可以由模板来描述。
中.国.南通服务器网
ItemTemplate 属性控制数据源集合中每个项目的展现。在ItemTemplate内部,你可以定义任意的表达代码(HTML 或者其他)。
[南通服务器网]
使用ASP.NET 的数据绑定语法,你可以从数据绑定中插入值到DataList 或 Repeater控件,就象下面这样。 [南通服务器网]
以下为引用的内容:
Hello <%# DataBinder.Eval(Container.DataItem, "name") %> !
|
Www~Spdns~com
Container 从名称空间System.Web.UI.INamingContainer 直接继承。在这种情况下,Container 解析为一个System.Web.UI.WebControls.RepeaterItem类型的对象,他有一个DataItem属性。 就像Repeater 重复数据源集合一样,DataItem 包含该集合中的当前项。例如,如果雇员字段对象的数据源被设定为ArrayList,DataItem 就是雇员类型的。当绑定到DataView,DataItem 则是DataRowView类型 。
Spdns
下面的例子演示了一个Repeater 控件绑定到DataView (从sql查询返回)。同时定义了两个模板:HeaderTemplate 和 FooterTemplate ,分别用来展示列表的开头和结尾。
中国南通服务器网
Repeater控件用来重复数据源集合中的数据,为数据源集合中的每一个项目使用一次ItemTemplate,但是不显示任何没有包含在模板中的元素。相对于Repeater的重复数据, DataList提供了一些额外的功能来控制列表的布局。与Repeater不同,DataList 使用额外的语法元素,如包含风格属性的表的行、列和跨列等等,在模板定义之外来丰富外观的格式。例如,DataList支持RepeatColumns 和 RepeatDirection 属性,分别用来指定数据是否以多列的样式显示,以及优先排列的方向(水平或者垂直) DataList 也支持样式属性,如下面的代码: Www^Spdns^com
以下为引用的内容: RepeatColumns="2" RepeatDirection="Horizontal" ItemStyle-Font-Size="10pt" ItemStyle-Font-Name="Verdana" > ...
|
Spdns_com
注意:本章的剩余部分集中讲解了DataList控件的许多功能。Repeater 空间的更多信息,参考本教材中“web form 控件参考”章节中的“repeater”主题。
中.国.南通服务器网
下面的例子演示了DataList控件的用法。注意数据项的外观已经和上一个例子中的有所不同,其实仅仅改变了一下控件ItemTemplate的属性。RepeatDirection 和 RepeatColumns属性决定了ItemTemplates的显示样式。
Www^Spdns^com
下面的例子更进一步演示了通过改变ItemTemplate来达到模板的多姿多彩的变化。这次,DataItem的一个值使用
标签的"src"属性来替代。DataBinder.Eval的格式化字符串参数也在URL查询字符串中替换了DataItem的值。 中国.南通服务器网
处理模板中的返回 Www.Spdns.com
如同在DataGrid一样,你可以从DataList模板激活一条命令,该模板通过绑定到DataList自身来传递事件句柄。例如,ItemTemplate中的LinkButton可以激活Select命令。通过设定DataList的OnSelectedIndexChanged属性,能够调用一个事件句柄来响应这条命令。请看下面的代码:
中.国南通服务器网
以下为引用的内容:
<%# DataBinder.Eval(Container.DataItem, "title") %>
|
中.国.南通服务器网
在MyDataList_Select 事件句柄中,组合了几个其他的服务器控件,来表述被选中项目的详细资料。
中国南通服务器网,为中文网南通服务器网
View Ratings
View Discussions