两个Repeater控件 嵌套使用

A.apsx

<asp:Repeater ID="rptList" runat="server" OnItemDataBound="rptList_ItemDataBound">
                   <ItemTemplate>
                       <div class="Expo_pastdiv">
                           <div class="Expo_pastdivl">
                               <table width="250" height="200" border="0" align="center" cellpadding="0" cellspacing="0">
                                   <tr>
                                       <td width="250" height="200" align="center">
                                           <script src="js/yu.js" type="text/javascript"></script>
                                           <script src="js/tb.js" type="text/javascript"></script>
                                           <div class="Expo_pastdivimg">
                                               <div id="SlidePlayer<%#Container.ItemIndex+1 %>" class="SlidePlayer">
                                                   <ul class="Slides">
                                                       <asp:Repeater ID="rptImageList" runat="server">
                                                           <ItemTemplate>
                                                               <li><a target="_blank" href="ConventionReviewDetails.aspx?ConList=<%#Eval("FPGAFileAutoNo")%>">
                                                                   <img src="Images/<%#Eval("ImageUrl")%>"></a></li>
                                                           </ItemTemplate>
                                                       </asp:Repeater>
                                                   </ul>
                                               </div>
                                               <script type="text/javascript">
                                                   TB.widget.SimpleSlide.decoration('SlidePlayer<%#Container.ItemIndex+1 %>', { eventType: 'mouse', effect: 'scroll' });
                                               </script>
                                           </div>
                                       </td>
                                   </tr>
                               </table>
                           </div>
                           <div class="Expo_pastdivr">
                               <h1><a href="ConventionReviewDetails.aspx?ConList=<%#Eval("AutoNo")%>" title="<%#Eval("Subject")%>"><%#Eval("Subject")%></a></h1>
                               <p><b>展览简介:</b><%#Eval("ParagraphContent")%>...</p>
                           </div>
                           <div class="clear"></div>
                       </div>
                       <div class="Expo_pastline"></div>
                   </ItemTemplate>
               </asp:Repeater>

 

A.aspx.cs

 

protected void Page_Load(object sender, EventArgs e)
  {
      if (!IsPostBack)
      {
          BindToDataList();
          GetInfoList();
      }
  }
  protected void AspNetPager1_PageChanged(object sender, EventArgs e)
  {
      BindToDataList();
  }
  private void BindToDataList()
  {
      int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
      int pageSize = 3;
      this.AspNetPager1.PageSize = pageSize;
      int firstPage = pageIndex * pageSize;
      string sql = "select F.Subject,F.AutoNo,FD.ParagraphContent from FPGAFiles F left join FPGAFileDetails FD on FD.FPGAFileAutoNo=F.AutoNo where DataType=6 order by F.CreateDT desc";
      SqlDataAdapter da = new SqlDataAdapter(sql, conn);
      DataSet ds = new DataSet();
      da.Fill(ds, firstPage, pageSize,"listall");
      DataTable dt = ds.Tables["listall"];
      AspNetPager1.RecordCount = getCount(); 
      rptList.DataSource = dt;
      rptList.DataBind();
  }
  private int getCount()
  {
      SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
      string sql = "";
      sql = "select Count(F.AutoNO) from FPGAFiles F left join FPGAFileDetails FD on FD.FPGAFileAutoNo=F.AutoNo where DataType=6 ";   
      SqlCommand com = new SqlCommand(sql, con);
      con.Open();
      int temp = Convert.ToInt32(com.ExecuteScalar());
      con.Close();
      return temp;
  }
  protected void rptList_ItemDataBound(object sender, RepeaterItemEventArgs e)
  {
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      {
          int mAutoNo = Convert.ToInt32(((DataRowView)e.Item.DataItem).Row["AutoNo"].ToString());
          Repeater rp2 = (Repeater)e.Item.FindControl("rptImageList");
          try
          {
              string sql = "select FPGAFileAutoNo,ImageUrl from FPGAFileImages where FPGAFileAutoNo=" + mAutoNo.ToString() + " order by DisplayOrder";
              conn.Open();
              SqlCommand com = new SqlCommand(sql, conn);
              SqlDataAdapter sda = new SqlDataAdapter(com);
              DataSet ds = new DataSet();
              sda.Fill(ds, "mDt");
 
              rp2.DataSource = ds;
              rp2.DataMember = "mDt";
              rp2.DataBind();
          }
          catch
          {
          }
          finally
          {
              conn.Close();
          }
      }
  }
 
private void GetInfoList()
{
    try
    {
        string sql = "select top 5 M.ExhibitionID,M.TitleValue,E.ExhibitionID,E.StartDT,E.ImageUrl from Exhibition E left join MultiLangExpo M on M.ExhibitionID=E.ExhibitionID where M.SystemID=1 and E.TypeID=1 and E.deleted=0 and StartDT > getDate() order by StartDT Desc";
        conn.Open();
        SqlCommand com = new SqlCommand(sql, conn);
        SqlDataAdapter sda = new SqlDataAdapter(com);
        DataSet ds = new DataSet();
        sda.Fill(ds, "mDt");
 
        repInfoList.DataSource = ds;
        repInfoList.DataMember = "mDt";
        repInfoList.DataBind();
    }
    catch
    {
    }
    finally
    {
        conn.Close();
    }
}

你可能感兴趣的:(使用)