2

在 ASP.Net 4.5 Web 窗体中,我有一个网格,它使用新的模型绑定功能,由实体框架支持:

<asp:GridView runat="server" ID="uxGrid" ItemType="SAData.SelfAssessment" DataKeyNames="SelfAssessmentID" AllowPaging="True" AllowSorting="True" PageSize="2"
        SelectMethod="GetSelfAssessments" CellPadding="5" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False">

这正式列出了数据库中的所有评估,包括它们的目的地,这是明显命名的目的地表的 FK。DynamicField 设置为显示 DestinationID,但我真的很想从实际的 Destination 表中查看 Destination名称。

我尝试了几种变体,例如

<asp:DynamicField DataField="Destinations.DestinationDescription" HeaderText="Destination" />

(其中 Destinations 是表格)

<asp:DynamicField DataField="Destination.DestinationDescription" HeaderText="Destination" />

(其中 Destination 是 Navigation 属性)。

这两种方法都会导致“表 'SelfAssessment' 没有名为 'Destinations.DestinationDescription' 的列”。或类似的。

我的 GetSelfAssessments 方法使用 .Include 方法来包含 Destinations 表,但无济于事。

有什么想法吗?

4

1 回答 1

0

好的,修复它 - 使用 asp:BoundField 到 Destination.DestinationDescription,而不是 asp:DynamicField,这很好。此外,也没有必要 .Include("Destination") ,尽管我想知道是否应该防止假定的延迟加载。

现在,按目的地排序是另一回事......

于 2012-09-05T08:47:42.763 回答