代码之家  ›  专栏  ›  技术社区  ›  jocull

使用具有对象属性的ASP.NET中继器

  •  1
  • jocull  · 技术社区  · 17 年前

    我试图使用ASP.NET的Repeater对象来循环对象的属性。

    例如我有一个ObjectDataSource通过ID获取对象“程序”。。。

    程序有一些属性,例如程序.利益相关者和程序.结果,它们是“利益相关者”和“结果”对象的列表。

    有谁能提供一种更好的方法来使用这些Repeater对象,或者告诉我一些有帮助的资源吗?如果这不合理,我可以试着进一步澄清。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Tomas Aschan    17 年前

    使用内置的 ObjectDataSource

    数据源控件

    无论哪种情况,最终都会得到一个名为 Program ,具有类型的属性 IEnumerable<Stakeholder> 和 IEnumerable<Outcome> 打电话 Stakeholders 和 Outcomes ItemDataBound 大会的活动 ProgramRepeater

    protected void ProgramRepeater_ItemDataBound(object sender, ItemDataBoundEvent e) {
        Program dataItem = (Program)e.DataItem;
        Repeater stakeholderRptr = (Repeater)e.Item.FindControl("ProgramRepeater");
        Repeater outecomeRptr = (Repeater)e.Item.FindControl("OutcomeRepeater");
    
        stakeholderRptr.DataSource = dataItem.Stakeholders;
        stakeholderRptr.DataBind();
        outecomeRptr.DataSource = dataItem.Outcomes;
        outecomeRptr.DataBind();
    }
    

    当然,这是假设您使用的是ASP.NETWebForms。在ASP.NETMVC中,它甚至更容易-您只需发送 程序 反对 View 作为 Model 对象,并通过其 利益相关者 结果 在几周内 for 直接在屏幕上循环 看法


    所有代码都按原样提供,我不保证它会按预期运行,甚至编译。这只是给你一个想法,让你的代码做什么-不一定是确切的代码,你需要解决你的问题。