2009-03-04 5 views
2

Я использую вложенные каталоги данных для отображения иерархических данных. Во вложенном datalist я хочу иметь возможность привязываться к свойству, принадлежащему объекту, к которому привязан родительский каталоги.Вложенные каталоги данных в ASP.net

Кто-нибудь знает, как я могу это достичь?

+0

Как выглядит ваша структура данных? – cgreeno

ответ

1

Я не знаю, как это сделать.

Hack вы можете (не) хотите попробовать:

<%# 
    (DataBinder.GetDataItem(Container.BindingContainer...BindingContainer) as AType) 
    .PropertyOfParentsDataListDataItem 
%> 

или

<%# 
    Eval(
     DataBinder.GetDataItem(Container.BindingContainer...BindingContainer) 
     ,"PropertyOfParentsDataListDataItem" 
    ) 
%> 
1

Я не знаю, как это сделать рядный, но если вы подключаетесь в OnItemDataBound вы можете использовать Следующий код:

Protected Sub YourList_ItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs) Handles YourList.ItemDataBound 

    If e.Item.ItemType = ListItemType.Item Or _ 
    e.Item.ItemType = ListItemType.AlternatingItem Then 

    CType(e.Item.FindControl("LabelName"), Label).Text = _ 
     DataBinder.Eval(CType(sender.Parent, DataListItem).DataItem, "FieldName")) 

    End If 

End Sub 

или в с # (непроверенные)

Protected Void YourList_ItemDataBound(Object sender, DataListItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
    ((Label)e.Item.FindControl("LabelName")).Text = 
     DataBinder.Eval(((DataListItem)sender.Parent).DataItem, "FieldName"); 

    } 
} 
Смежные вопросы