ASP GridView DataBind with Entity Navigated属性

时间:2010-09-06 09:13:23

标签: asp.net linq entity-framework gridview

我有一个GridView DataBind,其实体ClassA的属性工作正常。 我能够直接绑定ASPX文件中的属性。 ClassA.Id ClassA.Name 等

但ClassA还具有相关ClassB的导航属性。我希望在同一个GridView中显示相关的classB的属性。

我尝试在GridView中绑定以下内容,但即使我能够在调试模式下正确评估以下值,它也不起作用(实体在需要时执行延迟加载)。 ClassA.classB.Name

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以通过带有eval函数的模板列实现目标,如下所示;

<asp:TemplateField HeaderText="Name" SortExpression="Name">
    <ItemTemplate>
        <EditItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server"
                Text='<%# Eval("ClassA.ClassB.Name") %>'></asp:TextBox>
        </EditItemTemplate>
        <asp:Label ID="Label1" runat="server"
            Text='<%# Eval("ClassA.ClassB.Name") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

这种方法的缺点是使用后期绑定eval方法禁用双向数据绑定功能。