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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java快速输入输出使用详解(解决Java输入输出超时问题)

    Java快速输入输出使用详解(解决Java输入输出超时问题)Java快速输入输出使用详解一、背景:  Scanner类输入时,输入效率比较慢,输入数据大于10^5左右时(你觉得数据有点多时就用快速输入即可),某些题目会超时。所以需要输入快一点的方法。  一般情况下输入数据多导致题目超时时,直接使用快速输入中的:1.简单方法即可。二、快速输入:1.简单方法(我常用的:只是加了个包装流BufferedReader)importjava.io.Bu…

    2022年5月9日
    78
  • 金蝶显示服务器异常,金蝶迷你版登录提示云服务器异常

    金蝶迷你版登录提示云服务器异常内容精选换一换如果您购买了ECS,而没有对ECS进行主机安全防护,那么您主机将面临账户爆破、异常登录、恶意攻击等安全威胁。购买ECS,勾选开通主机安全,HSS基础版(按需计费)免费赠送。HSS可以帮助您全面识别并管理主机中的信息资产,实时监测主机中的风险并阻止非法入侵行为,帮助企业构建服务器安全体系,降低当前服务器面临的主要安全风险。基础版(按需计费)区块链管理页面…

    2022年4月9日
    86
  • javascript高级试题

    javascript高级试题1 判断为数组类型的 4 种方式 Array isArray typeofinstan 判断对象是否包含特定的自身 非继承 属性 hasOwnProper 3 改变 this 的 3 种方式 他们有什么相同点和不同点 call bind apply 这三个函数的第一个参数都是 this 的指向对象 第二个参数差别就来了 call 的参数是直接放进去的 第二第三第 n 个参数全都用逗号分隔 直接放到后面 obj myFun call db 成都

    2025年10月31日
    3
  • Ping test

    Ping test

    2021年8月8日
    79
  • 数仓分层理论_多元分层理论

    数仓分层理论_多元分层理论​数仓分层、元数据管理、数据质量管理

    2025年6月8日
    3
  • 如何查看mysql的版本_查看mysql版本语句是什么

    如何查看mysql的版本_查看mysql版本语句是什么查看MySQL的版本,主要有以下几个方法:1.没有连接到MySQL服务器,就想查看MySQL的版本。打开cmd,切换至mysql的bin目录,运行下面的命令即可:e:\mysql\bin>mysql -Vmysql  Ver 14.14 Distrib 5.6.32, for Win32 (AMD64)(版本为5.6.32)或者:e:\m

    2022年9月1日
    6

发表回复

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

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