我如何在内部嵌套列表视图的布局模板中获取列表视图的外部数据项的访问属性

本文关键字:列表 视图 获取 外部 属性 访问 数据项 布局 在内部 嵌套 | 更新日期: 2023-09-27 18:24:18

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

我如何在内部嵌套列表视图的布局模板中获取列表视图的外部数据项的访问属性

<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。