use*_*410 3 asp.net listview bind eval
我正在解决问题.我有一个方法返回一个List<Object[]>.
object[]列表中的每个包含以下内容:
object[0]=Id;
object[1]=Name;
Run Code Online (Sandbox Code Playgroud)
现在,我正在寻找一种方法将此List绑定到自定义中的ListView,ItemTemplate如下所示:
<asp:Label runat="server" ID="lblId"
Text="Here want to do an Eval/Bind for object[0]"></asp:Label>
<asp:Label runat="server" ID="lblName"
Text="Here want to do an Eval/Bind for object[1]"></asp:Label>
Run Code Online (Sandbox Code Playgroud)
任何建议都将深表感谢.
您的数据源无法进行标准数据绑定.将其转换为名称值对,该名称对将具有绑定的每个项目的名称和值.例如,Dictionary <string,string> collection与此兼容.然后只需将ListView转为:
<asp:Label runat="server" ID="lblId"
Text='<%# Eval("Key") %>'></asp:Label>
<asp:Label runat="server" ID="lblName"
Text='<%# Eval("Value") %>'></asp:Label>
Run Code Online (Sandbox Code Playgroud)
对象数组列表是存储项目的不良选择.您应该考虑使用表示项目的类,或者使用@Canavar建议的字典.然后,您将能够以更清洁的方式使用Eval方法.
也就是说,它可以与您当前的设置绑定,虽然语法让我的眼睛流血.
<asp:Label runat="server" ID="lblId"
Text='<%# ((Object[])Container.DataItem)[0] %>' />
<asp:Label runat="server" ID="lblName"
Text='<%# ((Object[])Container.DataItem)[1] %>' />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8062 次 |
| 最近记录: |