zoukankan      html  css  js  c++  java
  • 相互嵌套的repeater,被嵌套的怎么引用外边的repeater的列?

    就是说我要在里面的repeater的itemtemplete里面引用外部的repeater的一个列的值。   

      <!--   start   parent   repeater   -->     

      <asp:repeater   id="parent"   runat="server">     

      <itemtemplate>     

      <b><%#   DataBinder.Eval(Container.DataItem,"au_id")   %></b><br>     

        

      <!--   start   child   repeater   -->     

      <asp:repeater   id="child"   datasource="<%#   ((DataRowView)Container.DataItem)     

      .Row.GetChildRows("myrelation")   %>"   runat="server">     

      <itemtemplate>     

      <%#   DataBinder.Eval(Container.DataItem,   "[\"title_id\"]")%><br>     

      <%#   DataBinder.Eval(Container.DataItem,"au_id")   %>************************   

      </itemtemplate>     

      </asp:repeater>     

      <!--   end   child   repeater   -->     

      </itemtemplate>     

      </asp:repeater>     

      <!--   end   parent   repeater   -->     

        

      上边带******行的效果怎么实现,如果直接按照上边的写法,会出错的 

    第一步:   

      在页面的后台代码中声明一个变量:   

      protected   object   ParentDataItem;   //   注意是受保护的   

        

      第二步:   

      然后处理   parent   控件的   ItemDataBound   事件:   

      private   void   parent_ItemDataBound(object   sender,   System.Web.UI.WebControls.RepeaterItemEventArgs   e)   

      {   

              ParentDataItem   =   e.Item.DataItem;   

      }   

        

      第三步:   

      把   

      <%#   DataBinder.Eval(Container.DataItem,"au_id")   %>************************   

      改成:   

      <%#   DataBinder.Eval(ParentDataItem,"au_id")   %>************************

  • 相关阅读:
    原型模式 prototype
    OOAD之单例模式Singleton的6种写法
    OOAD之创建型模式之工厂模式
    OOAD之面向对象设计原则
    第一章 面向对象软件工程与UML
    Oracle数据库之PL/SQL触发器
    Oracle数据库之开发PL/SQL子程序和包
    Oracle数据库中的分页--rownum
    Oracle数据库之FORALL与BULK COLLECT语句
    Oracle数据库 中的基础的一些语法结构
  • 原文地址:https://www.cnblogs.com/tangself/p/1933718.html
Copyright © 2011-2022 走看看