有没有人能够找到一种干净的解决方案来使用EntityDataSource在GridView中显示外键值?
例如,我的Employees表有一个(FK)JobTitleID,而我希望Employees GridView显示一个Job Title列。
发布于 2010-06-28 00:46:47
您可以使用将值绑定到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实体。
发布于 2011-02-05 12:45:07
我试过了,它并没有像广告中说的那样直接起作用。您还需要确保在EntityDataSource的Include属性中引用相关的表。我在EntityDataSorce的“配置数据源”向导中看不到任何方法来控制它,所以我在HTML语言中手动输入了它。
MSDN文档中有更多关于here的信息。
PS。我在其他地方读到过,你必须使用Eval,但我似乎可以交替使用Eval或Bind。
https://stackoverflow.com/questions/1255935
复制相似问题