如何在ASP.Net 4.5 Web Forms模型绑定中访问外键描述

时间:2012-08-28 15:48:13

标签: asp.net asp.net-4.5

在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 name

我尝试了几种变体,例如

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

(目的地是表格)

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

(其中Destination是Navigation属性)。

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

现在,对目的地进行排序是另一回事......