2010-08-04 84 views
0

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

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; } 

域和角色只有一个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'.

什么是做到这一点的最好方法是什么?

佩德罗Dusso

+0

我不认为这是导致该错误,请张贴“用户” 实体的代码 – 2010-08-04 17:14:08

+0

但我已经做到了,那就是我所有的用户类...只是错过了公开课用户{...} – 2010-08-04 17:18:07

+0

发布代码绑定到Gridview数据源的地方 – 2010-08-04 17:30:28

回答

0

我不认为你可以做双向绑定像这样的对象。你可以在“评估和演示”中的数据,如果你使用一个TemplateField,像这样的语法(未测试):

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