我如何在内嵌式listview的布局模板中获取listview的外部数据项的访问属性

时间:2012-02-10 22:17:39

标签: c# asp.net listview

<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是类的属性,其对象被分配给父数据源。

1 个答案:

答案 0 :(得分: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();
        }

处理程序适用于DataBound而不是ItemDataBound。