欢迎来到天天文库
浏览记录
ID:38182880
大小:63.00 KB
页数:5页
时间:2019-05-24
《数据绑定控件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据绑定:把数据集中的某个或某些字段绑定到控件的某些属性上面的一种技术。数据绑定表达式必须包含在<%#和%>之间,其语法格式为:’runat=”server”/>以上的数据绑定表达式可以为如下的绑定类型:l变量语法:<%#变量名%>l表达式语法:<%#表达式%>l集合( 如数组)语法:<%#集合名%>l方法的返回值语法:<%#方法%>Container是一个数据容器,代表集合类或者dataview中的一行,而Container.DataItem代表该行的数据;
2、在使用Repeater的时候,会使用Container.DataItem.其实DataItem就是一个Object,这个Object就是Repeater的DataSource中的一个元素。如果DataSourc是DataTable那么这个DataItem就是DataRow如果DataSource是List那么这个DataItem就是Student。这里Student是一个自定义的类。可以先做类型转换然后调用Student的方法。使用数据绑定的范例:绑定到简单属性:<%#UserName%>
3、 绑定到集合:'runat="server"> 绑定到表达式:<%#(class1.property1.ToString()+","+class1.property2.ToString())%> 绑定到方法返回值:<%#GetSafestring(str)%> 绑定到Hashtable:<%#((DictionaryEntry)Container.
4、DataItem).Key%> 绑定到ArrayList:<%#Container.DataItem%> 若数组里里放的是对象则可能要进行必要的转换后再绑定如: <%#((对象类型)Container.DataItem).属性%> 绑定到DataView,DataTable,DataSet: <%#((DataRowView)Container.DataItem)["字段名"]%>或 <%#((DataRowVi
5、ew)Container.DataItem).Rows[0]["字段名"]%> 要格式化则: <%#string.Format("格式",((DataRowView)Container.DataItem)["字段名"])%> <%#DataBinder.Eval(Container.DataItem,"字段名","格式")%> 绑定到DataReader: <%#((IDataReader)Container.DataItem)
6、.字段名%>Eval()和Bind()方法绑定数据:Eval()方法是静态单向(只读)方法,所以Eval方法用于单向(只读)绑定,该方法采用数据字段的值作为参数并将其作为字符串返回。即Eval方法仅提供读取功能。Bind()方法支持读/写功能,所以Bind方法用于双向(可更新)绑定,该方法可以检索数据绑定控件的值并将任何更改提交回数据库。即Bind方法提供双向绑定(读取/写回数据库)功能。语法:<%#Eval(“字段名”)%>等价于<%#DataBinder.Eval(Container.DataItem,
7、”字段名”)%>以上两种方法的数据源可以为:DataSet、DataTabel、DataView、或者集合(数组,ArrayList、Hashtable)和泛型集合(List、Dictionary)注意:使用Eval()方法的重载格式化特定的字段。Repeater的用法:lRepeater控件专门用于精确内容的显示,它是基于模板的方式,它不会自动生成任何用于布局的代码。Reapeater控件也没有一个默认的外观,它完全是通过模板来控制。而且也只能通过源代码视图进行模板的编辑。
8、lRepeater控件中的模板:ItemTemplate:AlternatingItemTemplate:HeaderTemplate:FooterTemplate:SeparatorTemplate:l使用PagedDataSource类实现Repeater的分页显示功能:PagedDataSource对象常用的属性:CurrentPageIndex获取或设置当前页的索引。DataSource获取或设置数据源。
此文档下载收益归作者所有