ASP.NET数据绑定技术
1.DataBinder.Eval()方法
DataBinder.Eval()方法是ASP.NET框架支持的一个静态方法,用来计算Late_Bound(后期绑定)数据绑定表达式,并随时将结果转换为字符串格式。
[1].DataBinder.Eval(Object,String)<在运行时计算数据表达式>
[2].DataBinder.Eval(Object,String,String)
<在运行时计算表达式的值,并将结果格式为要在请求浏览器中显示的文本>
例子:
<asp:Label ID="lblVoteId" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem,"投票序号") %>'></asp:Label>
2.Eval方法和Bind()方法
Eval()方法是一个静态方法,无论什么数据,总是返回字符串类型而不必关心数据本来的类型以及如何进行转换。
Bind()方法与Eval()方法类似,它们都可以从数据源中检索数据并转换为字符串,不同的是,Bind()方法除了从数据源获取数据外,还允许用户用户插入,编辑和删除数据。
<%# Eval("Id") %>
3.绑定变量
<%# 变量名称%>
注:在后台代码中声明变量时,要将其设置为public或protected类型,否则将会出现变量受保护级别限制的错误。
例子:在后台代码中定义public string userName="admin";在前台页面中可以使用Text="<%# Eval("userName")%>";
4.绑定集合
<%# 集合%>
一些服务器控件都是多记录控件,例如DropDownList控件,ListBox控件等
例子: <asp:DropDownList ID="DropDownList1" DataSource="<%#ItemList %>">" runat="server"></asp:DropDownList>
后台代码中,ItemList为一个数据集的名称,protected ArrayList ItemList=new ArrayList();
5.绑定表达式<%# 表达式%>,
绑定方法返回值 <%#方法%>
例子:Text=<%# sum/10 %>,Text=<%# GetSum()%>
6.绑定DataTable对象
DataTable对象表示包含内存中关系数据的一个表,可以独立的创建和使用,也可以由其他NET Framework对象使用,最常见的是为DataSet对象的成员使用。
创建DataTable的两种方法:
[1].使用DataTable构造函数创建DataTable对象 ,通过使用Add方法将其添加到DataTable对象的Tables集合中。
[2].使用DataAdapter对象的Fill()方法或FillSchema()方法在DataSet对象中创建,或者使用该对象的ReadXml,ReadXmlSchema或InferXmlSchema方法从预定义的或推断的Xml架构中创建。
初次创建DataTable对象时,没有架构,要定义表的架构,必须创建DataColumn对象并将其添加到表的Columns集合中,也可以为表创建定义主键列,并且可以创建Constrain对象,并将其添加到表的Constrain集合中,在为DataTable对象定义了架构后,可通过将DataRow对象添加到表的Rows集合中来将数据行添加到表中。