1

次のコードで 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' は現在のコンテキストに存在しません。そのようなオブジェクトをバインドする方法は? 私は正しい道を進んでいますか?

4

1 に答える 1

3

これは次のようになります。

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

これの代わりに:

<asp:Label runat="server" ID="lblID" Text='<%# Eval(ord.oID) %>'/>
于 2013-10-05T20:44:55.773 に答える