ASP.NET DataList控件数据绑定问题
<%#DataBinder.Eval(Container,"DataItem.Uid")这种绑定除了最后一个我知道是数据库的列值,前面的分别代表什么意思啊?...
<%#DataBinder.Eval(Container,"DataItem.Uid") 这种绑定除了最后一个我知道是数据库的列值,前面的分别代表什么意思啊?
展开
5个回答
展开全部
DataBinder是一个类;其静态方法Eval以在运行时使用反射来分析和计算对象的数据绑定表达式;Container是数据绑定控件(比如:DataList)中项的模板(比如:ItempTemplate)中所定义的一个隐含变量,表示数据绑定控件的项,对于DataList,Container就是DataListItem(对于GridView,就是GridViewRow);DataItem是DataListItem(或者GridViewRow)对象的属性,它返回当前行所绑定的数据对象,如果数据源是DataTable,DataItem返回DataRowView,如果数据源是实体类集合,DataItem就返回实体对象。
你这种写法性能不好,因为Eval方法是以反射的方式来工作,,"DataItem.Uid"会导致反射两次,所以改为:<%#DataBinder.Eval(Container.DataItem,"Uid") %>会更好。
而在asp.net 2.0中,这种表达式可简写为:<%#Eval("Uid") %>
你这种写法性能不好,因为Eval方法是以反射的方式来工作,,"DataItem.Uid"会导致反射两次,所以改为:<%#DataBinder.Eval(Container.DataItem,"Uid") %>会更好。
而在asp.net 2.0中,这种表达式可简写为:<%#Eval("Uid") %>
展开全部
DataBinde其实就是数据源,可以是你从数据库查询出来的集合
Container就是绑定数据源的控件
这个就是将数据库的列值绑定到数据控件指定列
Container就是绑定数据源的控件
这个就是将数据库的列值绑定到数据控件指定列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将数据绑定到容器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SQLBinder
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询