我有一个绑定到Entity DataSource(权限)的gridview。其中一列列出了UserId,它是另一个表中的主键。如何使用用户实体数据源的相应名称替换UserId?
答案 0 :(得分:1)
你可以尝试......
<asp:TemplateField HeaderText="User Name" >
<ItemTemplate>
<asp:Label ID="lblUser" runat="server" Text='<%# Eval("ParentEntityName.Name")%>'
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:0)
您可以在您的用户实体源中查找Gridview的RowDataBound事件。
答案 2 :(得分:0)
将其分类..
<asp:TemplateField HeaderText="ApprovedBy" SortExpression="ApprovedBy" >
<ItemTemplate>
<asp:Label ID="lblUser" runat="server" Text='<%# GetApprover(Eval("ApprovedBy").ToString()) %>'/>
</ItemTemplate>
</asp:TemplateField>
和代码背后:
protected string GetApprover(string ApproverId)
{
int approver = Convert.ToInt32(ApproverId);
var approversList = (from a in EntUsers.Users
where a.UserId == approver
select a.Name).FirstOrDefault();
return approversList;
}