asp.net中的Eval绑定对象

时间:2013-10-05 19:52:04

标签: c# asp.net listview ado.net eval

我使用以下代码绑定ListView。

List<intermediate> order = new List<intermediate>();
order = DBInteraction.GetAllActiveOrders();
lvProducts.DataSource = order;
lvProducts.DataBind();

我的中间人如下:

public class intermediate
{
    public product pro = new product();
    public order ord = new order();
}

现在在前端我正在绑定列表视图,如:

<asp:ListView runat="server" ID="lvProducts" OnItemCommand="lvProducts_ItemCommand">
<ItemTemplate>
    <tr>
        <td>
        <asp:Label runat="server" ID="lblID" Text='<%# Eval(ord.oID) %>'/>
        </td>...

与Eval(“ord.oID”)相同。抛出异常:  当前上下文中不存在名称“ord”。如何绑定这样的对象?我正走在正确的道路上吗?

1 个答案:

答案 0 :(得分:3)

应该是这样的:

<asp:Label runat="server" ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem, "ord.oID") %>'/> 

而不是:

<asp:Label runat="server" ID="lblID" Text='<%# Eval(ord.oID) %>'/>