Frage

Ich habe zwei Klassen Entity: Order und OrderItem. Order enthält eine Navigationseigenschaft OrderItemSet vom Typ

System.Data.Objects.DataClasses.EntityCollection<OrderItem>

Auf einer aspx Seite ist ein Formview zu diesem EntityDataSource gebunden:

<asp:EntityDataSource ID="EntityDataSourceOrder" runat="server" 
    ConnectionString="name=EntitiesContext" 
    DefaultContainerName="EntitiesContext" 
    EntitySetName="Order" 
    Include="OrderItemSet"

    // stuff to define a query

</asp:EntityDataSource>

Die Formview auf die Datasource und die ItemTemplate dieser Formview gebunden ist, enthält eine Listview, die ich dem OrderItemSet zu binden versuchen. Es sieht so aus:

<asp:FormView ID="FormViewOrder" runat="server" DataKeyNames="OrderID" 
              DataSourceID="EntityDataSourceOrder" AllowPaging="True" >
    <ItemTemplate>
        ...

        <asp:ListView ID="ListViewOrderItems" runat="server" 
                      DataSource='<%# Eval("OrderItemSet")%>' >
            ...
        </asp:ListView>
    </ItemTemplate>
</asp:FormView>

Wenn ich die Anwendung ausführen bekomme ich eine Ausnahme deutete auf die Linie DataSource='<%# Eval("OrderItemSet")%>' in Markup und mir zu sagen:

Databinding: System.Web.UI.WebControls.EntityDataSourceWrapper enthält keine Eigenschaft mit dem Namen 'OrderItemSet'

Was ist hier falsch?

(Ich habe das gleiche mit anderen Navigationseigenschaften durchgeführt, die keine Listen sind aber einzelne Objektreferenzen, und das funktioniert.)

Vielen Dank für die Hilfe!

War es hilfreich?

Lösung

Es scheint mir, dass Sie eine Sammlung aus einer Datenquelle zu bewerten versuchen, ohne zuerst auf diese Datenquelle zu binden.

Warum versuchen Sie nicht direkt an die Datenquelle verbindlich? Z.

<asp:ListView ID="ListViewOrderItems" runat="server" 
            DataSourceID="EntityDataSourceOrder"
...
</asp:ListView>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top