Repeater嵌套DataList

Repeater嵌套DataList<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="RepeaterDemo.aspx.cs"Inherits="OldbSiteMapProviderDemo.RepeaterDemo"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitiona

大家好,又见面了,我是你们的朋友全栈君。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RepeaterDemo.aspx.cs" Inherits="OldbSiteMapProviderDemo.RepeaterDemo" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="Geovin Du 塗聚文"/>
<meta name="Keywords" content="捷为工作室"/>
<meta name="Description" content="缔友计算机信息技术有限公司"/>

    <title>Repeater嵌套DataList</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Repeater runat="server" ID="parent" OnItemDataBound="parent_ItemDataBound">
   <HeaderTemplate>
<div class="urbangreymenu">
      </HeaderTemplate>
              <ItemTemplate>
                  
                          <h3 class="headerbar"> <%#Eval("bidclass")%> 
                              <asp:Label ID="Label1" runat="server" Text='<%#Eval("bigid")%>' Visible="false"></asp:Label></h3>
                          
                            <asp:DataList runat="server" ID="child" RepeatColumns="2" SelectedItemStyle-CssClass="SelectedproudctclassStyle" ItemStyle-CssClass="proudctclassStyle">
                            <HeaderTemplate></HeaderTemplate>
                               <ItemTemplate>
                                        <ul><li>
                                          <a title='<%#Eval("smallcalss")%>' href='ProductClass.aspx?id=<%#DataBinder.Eval(Container.DataItem,"sid") %>'>
                                             <%#Eval("smallcalss")%> </a>  
                                            <asp:CheckBox ID="CheckBox1" runat="server" />
                                          </li></ul> 
                               </ItemTemplate>  
                               <FooterTemplate></FooterTemplate>                            
                            </asp:DataList>
                        
              </ItemTemplate>
               <FooterTemplate>
               </div>
               </FooterTemplate>
          </asp:Repeater>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
    </form>
</body>
</html>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SiteMapProviderLibrary;

namespace OldbSiteMapProviderDemo
{
  //涂聚文 
    public partial class RepeaterDemo : System.Web.UI.Page
    {
        bigclassDB bigd = new bigclassDB();
        SmallClassDB smd = new SmallClassDB();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DatabindReptBigProductType();
            }
        }
        /// <summary>
        /// 产品大类
        /// </summary>
        private void DatabindReptBigProductType()
        {
            DataTable dt = bigd.bidclassDataTable();
            parent.DataSource = dt;
            parent.DataBind();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void parent_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            string strFirstNo = "0";
            string Idx = "0";
            string b_id = "0";
            try
            {
                if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
                {
                     DataList childs = (DataList)e.Item.FindControl("child");
                    DataRowView rows = (DataRowView)e.Item.DataItem;
                    Idx = rows["bigid"].ToString();                   

                    //Idx = (string)DataBinder.Eval(e.Item.DataItem, "bigid");
                    strFirstNo = rows["bigid"].ToString();
                    Label l = (Label)e.Item.FindControl("Label1");
                    strFirstNo = l.Text;
                    DataTable dt = smd.SmallClassDataTableBigID(strFirstNo);

                    childs.DataSource = dt;
                    childs.DataBind();
                }
            }
            catch (Exception ex)
            {
              string err=ex.Message.ToString();
              //Response.Write(e);

            }
            Response.Write(strFirstNo + "," + Idx + "<br/>" + b_id);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            string str = "";
            for (int i = 0; i < parent.Items.Count; i++)
            {
                DataList myDataList = (DataList)parent.Items[i].FindControl("child");
                for (int j = 0; j < myDataList.Items.Count; j++)
                {
                    CheckBox myCheckBox = (CheckBox)myDataList.Items[j].FindControl("CheckBox1");
                    if (myCheckBox.Checked)
                    {
                        str += "Repeat的第" + (i+1).ToString() + "行,DataList的第" + (j+1).ToString() + "行选中<br />";
                    }
                }
            }
            Response.Write(str);

        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159134.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • ThinkServer RS260安装CentOS操作实录

    ThinkServer RS260安装CentOS操作实录

    2022年4月2日
  • 【蓝桥杯】双非本科?大一大二不敢参加?这篇蓝桥全解析帮你打消疑虑轻松获奖【内附蓝桥资源和学习路线】

    【蓝桥杯】双非本科?大一大二不敢参加?这篇蓝桥全解析帮你打消疑虑轻松获奖【内附蓝桥资源和学习路线】⭐️引言⭐️大家好,我是执梗,最近蓝桥杯的报名正如火如荼的开展,许多院校也开展了院赛筛选,许多大一大二的小伙伴陷入了是否该报名的疑虑。蓝桥杯到底是啥?蓝桥杯适合我参加吗?我现在零基础还来得急吗?我要是陪跑了报名费三百块岂不是交智商税了?就算报名了我该如何去训练呢?…..话不多说,我们挨个解答(结尾有免费的真题和解析以及配套的考试环境搭建,建议收藏)⭐️目录⭐️????1.蓝桥杯到底是什么?????2.我们为什么要参加蓝桥杯?????1.含金量高…

    2022年4月29日
  • UVa – The 3n + 1 problem 解读

    UVa – The 3n + 1 problem 解读

    2022年1月6日
  • MySQL为什么用B+树,而不用B树?

    MySQL为什么用B+树,而不用B树?

    2022年2月19日
  • 永恒之蓝漏洞复现(MS17010)

    永恒之蓝漏洞复现(MS17010)永恒之蓝实验(MS17010)1.概念永恒之蓝是指2017年4月14日晚,黑客团体ShadowBrokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。2.什么是ARTA

    2022年5月2日
  • apt 与 dpkg[通俗易懂]

    apt 与 dpkg[通俗易懂]dpkg简介“dpkg”是“DebianPackager”的简写。为“Debian”专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自“Debian”的“Linux”发行版都使用“dpkg”,例如“Ubuntu”、“Knoppix”等。dpkg是Debian软件包管理器的基础,它被伊恩·默多克创建于1993年。dpkg与RPM十分相似,同样被用于安装、卸载和供给….

    2022年9月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号