Привязка объектов к Gridview - PullRequest
0 голосов
/ 04 августа 2010

У меня есть три класса (домен, роль и пользователь).Домен и роль являются свойствами пользовательского класса, например:

    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.

Я хотел бы привязать список пользователей кмой вид сетки, но показывая имя домена.В настоящее время у меня есть такие связанные поля:

<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'.

Какой лучший способ сделать это?

Педро Дуссо

1 Ответ

0 голосов
/ 04 августа 2010

Не думаю, что вы сможете выполнить двустороннее связывание данных с таким объектом, как этот.Вы можете «Eval» данных, если вы используете TemplateField с синтаксисом, подобным этому (не проверено):

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

...