有没有人能够找到一个干净的解决方案,以使用EntityDataSource在GridView中显示外键值?GridViews中的实体外键
例如,我的Employees表有一个(FK)JobTitleID,我希望Employees GridView显示一个Job Title列。
有没有人能够找到一个干净的解决方案,以使用EntityDataSource在GridView中显示外键值?GridViews中的实体外键
例如,我的Employees表有一个(FK)JobTitleID,我希望Employees GridView显示一个Job Title列。
您可以使用将值绑定到TemplateField。在里面你可以使用适合你数据类型的任何类型的绑定控件。下面是一个例子:
<asp:GridView ID="gvEmployees" runat="server" AllowSorting="true" AutoGenerateColumns="false" DataKeyNames="ID" DataSourceID="godsCourses">
<Columns>
<asp:TemplateField HeaderText="Job Title">
<ItemTemplate>
<asp:Literal ID="hlProgram" runat="server" Text='<%# Bind("JobTitle.Name") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我已经使用JobTitle.Name
假设的JobTitleID
连接到JobTitle
实体。
我试过这个,它没有像广告那样直接工作。您还需要确保相关表在EntityDataSource的Include属性中被引用。我在EntityDataSorce'Configure Data Source'向导中看不到任何方法来控制它,所以我在HTML中手动输入。
更多信息here在MSDN文档中。
PS。我在其他地方读过,你必须使用Eval,但我似乎可以互换使用Eval或Bind。
完美地为我工作:)谢谢! – David 2011-11-26 19:23:18
不幸的是我不能在我目前的网站上测试这个,但我会根据上面的评论将它标记为正确的答案。 – Jesse 2013-05-20 19:43:54