• Repeater嵌套Repeater的结构:对于 datalist 控件也是有效的。记下以防忘记了


    在写程序的时候, Repeater嵌套绑定Repeater  是常有事情。下面给出了相应的代码,记下,以便下次使用。

    下面是 aspx 代码:

    1 <asp:Repeater ID="Repeater1" runat="server"
    2 onitemdatabound="Repeater1_ItemDataBound">
    3 <HeaderTemplate>
    4 <table width="100%" border="1" cellspacing="1" cellpadding="1">
    5 </HeaderTemplate>
    6
    7 <ItemTemplate>
    8 <tr><td><%# Eval("Title") %></td></tr>
    9
    10 <asp:Repeater ID="Repeater2" runat="server">
    11
    12 <ItemTemplate>
    13 <tr><td><%# Eval("Title") %></td></tr>
    14
    15
    16 </ItemTemplate>
    17
    18
    19 </asp:Repeater>
    20
    21
    22 </ItemTemplate>
    23
    24
    25 <FooterTemplate></table></FooterTemplate>
    26 </asp:Repeater>

    下面是 .cs 代码 也就是后台代码

    1 protected void Page_Load(object sender, EventArgs e)
    2 {
    3 if (!IsPostBack)
    4 {
    5 bangdingdata();// 绑定数据项,这里只绑定第一个Repeater
    6  
    7
    8 }
    9
    10
    11 }
    12
    13
    14
    15
    16  /// 在 ItemDataBound 事件中,将Repeater2绑定起来
    17   protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    18 {
    19 if (e.Item.ItemType == ListItemType.Item) //定义当前项是项模板
    20   {
    21 Repeater rpt2 = (Repeater)e.Item.FindControl("Repeater2"); //找到第二个 Repeater
    22
    23 DataRowView drv = (DataRowView)e.Item.DataItem;
    24 //获取当前项目 所在的行,也就是数据行,找到数据行中的一个字段 ID
    25 int typeid = Convert.ToInt32(drv["ID"]);
    26
    27 opclass opc = new opclass();
    28
    29 rpt2.DataSource = opc.ExectDataSet(string.Format("Select [Title] from[Reply] where [lyID]={0}", typeid));
    30 rpt2.DataBind();
    31
    32 // 以找到的 ID 为依据,将 Repeater2 绑定。
    33
    34
    35
    36
    37 }
    38
    39 }
    40
    41
    42 private void bangdingdata()
    43 {
    44 opclass opc = new opclass();
    45
    46 this.Repeater1.DataSource = opc.ExectDataSet("Select * From [liuyan]");
    47
    48 this.Repeater1.DataBind();
    49
    50
    51 }
  • 相关阅读:
    设置为自动启动的WindowService没有开机启动
    Asp.Net部署问题
    MSDTC的折磨
    C# WinForm 边框阴影窗体
    升级DotNetNuke
    常用缩写
    DotNetNuke的升级路径
    日本語文法勉強
    PostSubmitter~在WEB应用程序以外的其他程序里提交Web请求的类
    vue中的锚链接跳转问题
  • 原文地址:https://www.cnblogs.com/lujin49/p/2102042.html
Copyright © 2020-2023  润新知