加入收藏 | 设为首页 | 会员中心 | 我要投稿 十堰站长网 (https://www.0719zz.com/)- 混合云存储、网络、视频终端、云计算、媒体处理!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net 中继器中继器

发布时间:2023-02-17 11:02:34 所属栏目:asp.Net 来源:互联网
导读:我在转发器内有一个转发器。其中父中继器绑定到一个Datatble,它有一个Datatable其中的列。 我想绑定子中继器到父中继器的daTarow中的datatable列 这可能吗?我想我可以这样直接在aspx文件像: DataSource =%#DataBinder.Eval(Container.DataItem,Products
  我在转发器内有一个转发器。其中父中继器绑定到一个Datatble,它有一个Datatable其中的列。
  我想绑定子中继器到父中继器的daTarow中的datatable列
 
  这可能吗?我想我可以这样直接在aspx文件像:
 
  DataSource =“<%#DataBinder.Eval(Container.DataItem,”Products“)%>”但它似乎不工作。
 
  解决方法
  在父中继器中,将一个方法附加到OnItemDataBound事件,并在该方法中,找到嵌套的重复器和数据绑定它。
  示例(.aspx):
 
  <asp:Repeater ID="ParentRepeater" runat="server" OnItemDataBound="ItemBound">
      <ItemTemplate>
          <!-- Repeated data -->
          <asp:Repeater ID="ChildRepeater" runat="server">
              <ItemTemplate>
                  <!-- nested repeated data -->
              </ItemTemplate>
          </asp:Repeater>
      </ItemTemplate>
  </asp:Repeater>
  示例(.cs):
 
  protected void Page_Load(object sender,EventArgs e)
  {
      if (!IsPostBack)
      {
          ParentRepeater.DataSource = ...;
          ParentRepeater.DataBind();
      }
  }
  
  protected void ItemBound(object sender,RepeaterItemEventArgs args)
  {
      if (args.Item.ItemType == ListItemType.Item || args.Item.ItemType == ListItemType.AlternatingItem)
      {
          Repeater childRepeater = (Repeater)args.Item.FindControl("ChildRepeater");
          childRepeater.DataSource = ...;
          childRepeater.DataBind();
      }
  }

(编辑:十堰站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读