DataList绑定到Row[]行集合的问题的方法

时间:2021-05-28

当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)")%>



具体为什么要写成这样,我也不清楚,研究中...
如果有哪位老大知道,多谢赐教^^

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章