У меня есть два класса сущностей: Order
и OrderItem
. Order
содержит свойство навигации OrderItemSet
типаИсключение привязки привязки к объекту навигации объекта
System.Data.Objects.DataClasses.EntityCollection<OrderItem>
На странице ASPX является FormView, связанный с этим EntityDataSource:
<asp:EntityDataSource ID="EntityDataSourceOrder" runat="server"
ConnectionString="name=EntitiesContext"
DefaultContainerName="EntitiesContext"
EntitySetName="Order"
Include="OrderItemSet"
// stuff to define a query
</asp:EntityDataSource>
FormView связан с DataSource и ItemTemplate этого FormView содержит ListView который я пытаюсь связать с OrderItemSet. Это выглядит следующим образом:
<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>
Когда я запустить приложение я получаю исключение, указывающее на линии DataSource='<%# Eval("OrderItemSet")%>'
в разметке и говоря мне:
DataBinding: System.Web.UI.WebControls.EntityDataSourceWrapper не содержат свойство с именем «OrderItemSet»
Что здесь не так?
(я сделал то же самое с другими свойствами навигации, которые не перечислены, но ссылки на один объект, и это работает.)
Спасибо за помощь!
Здравствуйте, Xian, спасибо, что ответит! На самом деле мой DataSource привязан к FormView. И ListView, о котором я говорю, является частью ItemTemplate этого FormView. Поэтому я не хочу привязывать ListView к «полному» DataSource заказа, но только к определенному свойству навигации (списку OrderItems) заказа. Я попытался прояснить это в моем вопросе выше. – Slauma
Возможно, привязка данных FormView происходит слишком поздно. Вы можете попробовать подключиться к событию OnDataBound в FormView и затем программно установить DataSource из ListViewOrderItems. – codemonkeh
Спасибо Сиань! Это то, что я сейчас делаю, и это работает. Возможно, вы правы, а привязка данных слишком поздняя, но сообщение об ошибке исключения довольно запутанно. Я сейчас закрою этот вопрос. – Slauma