将对象绑定到Gridview

时间:2010-08-04 17:04:41

标签: asp.net gridview boundfield

我有三个类(域,角色和用户)。域和角色是用户类的属性,如下所示:

    public int UserID { get; set; }
    public string UserName { get; set; }
    public Domain Domain { get; set; }
    public Role Role { get; set; }
    public bool Active { get; set; }

Domain和Role只有一个ID属性和一个Name属性。

我想将用户列表绑定到我的网格视图,但显示DomainName。目前,我有这样的绑定字段:

<asp:BoundField DataField="Domain.DomainName" SortExpression="UserDomain" ReadOnly="True" HeaderText="User Domain" />

但这不起作用,给出了一个错误的错误:DataBinding: 'Yasur.Business.Entities.User' does not contain a property with the name 'DomainName'.

这样做的最佳方式是什么?

Pedro Dusso

1 个答案:

答案 0 :(得分:0)

我认为你不能用这样的对象进行双向数据绑定。如果您使用具有这样的语法的TemplateField(未测试),则可以“评估”数据:

<asp:TemplateField>
<ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# ((Domain)Eval("Domain")).DomainName %>' />
</ItemTemplate>