2012-02-10 9 views
2
<asp:ListView runat="server" ID="lvOuter" DataKeyNames="Id"> 
    <LayoutTemplate> 

    </LayoutTemplate> 
    <ItemTemplate> 
     <asp:ListView runat="server" ID="lvinner" DataKeyNames="Id" DataSource='<%# Eval("Collection") %>' 
      OnItemDataBound="lvGoalsInner_DataBound"> 
      <LayoutTemplate> 
      **Set X from the outer listview** 
      </LayoutTemplate> 
      <ItemTemplate> 
      </ItemTemplate> 
     </asp:ListView> 
    </ItemTemplate> 
</asp:ListView> 

ここで、Xはオブジェクトが親データソースに割り当てられているクラスのプロパティです。内部ネストされたリストビューのレイアウトテンプレートで、リストビューの外側のデータ項目のアクセスプロパティを取得する方法

+0

ここにあなたの質問/問題は何ですか?あなたの問題をタイトルとして投稿しないでください。多くの人が実現可能なヘルプの提供に関しておそらく応答しません。 – MethodMan

答えて

3
<asp:ListView runat="server" ID="lvinner" DataKeyNames="Id" DataSource='<%# Eval("Collection") %>' 
     OnDataBound="lvGoalsInner_DataBound"> 
    <LayoutTemplate> 
    <asp:Literal 
     runat="server" 
     ID="ltTitle" 
     Text='<%# DataBinder.Eval((Container.Parent as ListViewDataItem).DataItem, "Title") %>' /> 
    </LayoutTemplate> 
    <ItemTemplate> 
    </ItemTemplate> 

protected void lvGoalsInner_DataBound(object sender, EventArgs e) 
     { 
      (sender as ListView).FindControl("ltTitle").DataBind(); 
     } 

ハンドラはデータバインドではない、ItemDataBoundためのものです。

関連する問題