c# - 在嵌套的强类型转发器中访问父数据

标签 c# asp.net webforms

假设我有一个看起来像这样的类结构:

public class A
{
    public string Poperty1 { get; set; }
    public string Poperty2 { get; set; }
    public List<B> Property3 { get; set; }
}

public class B
{
    public string Property4 { get; set; }
    public string Property5 { get; set; }
}

...和几个嵌套的中继器,看起来像这样:

<asp:Repeater ItemType="A" runat="server">
    <ItemTemplate>
        <asp:Label Text="<%# Item.Property1 %>" runat="server" />
        <asp:Repeater runat="server" DataSource="<%# Item.Property3 %>" ItemType="B">
            <ItemTemplate>
                <asp:Label Text="<%# Item.Property4 %>" runat="server" />
            </ItemTemplate>
        </asp:Repeater>
    </ItemTemplate>
</asp:Repeater>

我如何从第二个中继器访问 Property2?

最佳答案

嗯,来自Accessing parent data in nested repeater, in the HeaderTemplate ,我找到了以下解决方案。它不是最漂亮的,但它确实有效:

<%# ((Container.Parent.Parent as RepeaterItem).DataItem as A).Property2 %>

关于c# - 在嵌套的强类型转发器中访问父数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16344293/

相关文章:

c# - 仅允许在 C# 中父类(super class)的程序集上实例化子类

C# 将参数传递给 Lambda

c# - 忽略字典键中的大小写

c# - 两侧具有不同笔划粗细的 WPF 矩形或具有虚线笔划的边框?

asp.net - “System.Web.UI.WebControls.TextBoxMode”不包含 'Date' 的定义

c# - 默认参数值必须是编译时常量错误消息

javascript - 如何根据 OnClientClick 事件的返回值执行 asp.net 按钮的点击事件

asp.net - ASP :textbox array

c# - 从 SQL Server 请求 webform 中的 nvarchar 类型时出错

asp.net-mvc - ASP.NET 网页和 Razor 之间有什么区别?