DataList绑定到Row[]行集合的问题的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:当dataList绑定到一个行集合时,直接使用时,编译时将会出现"DataBinder.Eval:“System.Data.DataRow”...
当dataList绑定到一个行集合时,直接使用<%#DataBinder.Eval(Container.DataItem,"fldName")%>时,编译时将会出现"DataBinder.Eval:“System.Data.DataRow”不包含名称为fldName的属性"的错误
解决办法:将<%#DataBinder.Eval(Container.DataItem,"fldName")%>写成<%#DataBinder.Eval(Container.DataItem,"(fldName)")%>
()也可以用[]来代替。
------------------------------------
例如:
.....
DataSetds=...;
DataTabledt=...;
DataRow[]dr=dt.Select("...");
dbList.DataSource=dr;
dbList.DataBind();
---------------------------------
<asp:DataListid="dbList"runat="server"Width="100%"RepeatDirection="Horizontal"RepeatColumns="2">
<ItemTemplate>
公司名称:<%#DataBinder.Eval(Container.DataItem,"[CompanyName]")%>
</ItemTemplate>
</asp:DataList>
也可以写成:
公司名称:<%#DataBinder.Eval(Container.DataItem,"(CompanyName)")%>
具体为什么要写成这样,我也不清楚,研究中...
如果有哪位老大知道,多谢赐教^^