2010-08-04 3 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을 표시하고 싶습니다. DataBinding: 'Yasur.Business.Entities.User' does not contain a property with the name 'DomainName'.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까 다음 fallowing 오류 제공

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

하지만 이러면 작업 : 현재, 나는 이런 바운드 필드가?

페드로 Dusso는

+0

내가 그 오류를 일으키는 것 같아요, '사용자' 개체의 코드를 게시하시기 바랍니다 –

+0

하지만 이미 했어. 내 모든 User 클래스가 ... public 클래스를 놓쳤다. {...} –

+0

Gridview 데이터 소스에 바인딩하는 코드를 게시한다. –

답변

0

나는이 같은 객체와 양방향 데이터 바인딩을 할 수있을 거라고 생각하지 않습니다. 당신은 "평가"데이터가이 같은 구문 (테스트하지)와 TemplateField를 사용할 수있는 경우 :

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

관련 문제