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

(编辑:jimmy 日期: 2024/10/5 浏览:2)

当dataList绑定到一个行集合时,直接使用 <%# DataBinder.Eval(Container.DataItem,"fldName") %>时,编译时将会出现 "DataBinder.Eval:“System.Data.DataRow”不包含名称为 fldName 的属性"  的错误

解决办法:将 <%# DataBinder.Eval(Container.DataItem, "fldName")%>  写成 <%# DataBinder.Eval(Container.DataItem, "(fldName)")%> 
()也可以用[]来代替。


------------------------------------
例如:
      .....
DataSet ds=  ...  ;
DataTable dt =   ...  ;

DataRow [] dr=dt.Select(" ... ");
dbList.DataSource=dr;
dbList.DataBind();


---------------------------------
<asp:DataList id="dbList" runat="server" Width="100%" RepeatDirection="Horizontal" RepeatColumns="2">
       <ItemTemplate>
                公司名称:<%#DataBinder.Eval(Container.DataItem,"[CompanyName]")%>
       </ItemTemplate>
</asp:DataList>



也可以写成:
公司名称:<%#DataBinder.Eval(Container.DataItem,"(CompanyName)")%>



具体为什么要写成这样,我也不清楚,研究中...
如果有哪位老大知道,多谢赐教 ^^
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。