当前位置: 首页 > 编程日记 > 正文

Repeater 嵌套 Repeater

作为一个刚入行的IT小鸟,每天学习,是必须的!

光自学肯定是不够的!由于本人IQ比较低,经常一个小问题都会想不明白。

还好有媳妇儿的帮助,才把这个功能给实现了。

现在就在这里总结下,以示敬意。o(∩_∩)o 哈哈

分析:

前台页面,放置两个Repeater,然后在Repeater1 里面放置一个 HiddenField控件,用来获取标题。

然后在Repeater1 的ItemDataBound 事件种根据获取的标题来加载 二级标题。

数据库访问代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.OleDb;
using System.Data;/// <summary>
/// Summary description for MyDBHelper
/// </summary>
public class MyDBHelper
{public MyDBHelper(){//// TODO: Add constructor logic here//}//连接字符串public static string strConStr=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\NoDB.mdb;"+"Persist Security Info=True";//连接数据库static OleDbConnection con;public static OleDbConnection Con{get {if(con==null){con = new OleDbConnection(strConStr);}else if(con.State== ConnectionState.Broken){con.Close();con.Open();}else if( con.State== ConnectionState.Closed){con.Open();}return con;}}//执行查询 返回Datatable#regionpublic static DataTable GetBySQL(string sql){DataTable dt = new DataTable();OleDbCommand cmd = new OleDbCommand(sql, Con);OleDbDataAdapter da = new OleDbDataAdapter(cmd);da.Fill(dt);return dt;}        #endregion//执行删除  增加  修改#region public static int ExcuteBySQL(string sql){OleDbCommand cmd = new OleDbCommand(sql, Con);int rs = cmd.ExecuteNonQuery();return rs;}#endregion
}

页面代码:


 

<!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"><title></title><asp:ContentPlaceHolder id="head" runat="server"></asp:ContentPlaceHolder><script src="../Script/jquery-1.3.2.min.js" language="javascript" type="text/javascript"></script><script type="text/javascript" language="javascript">$(document).ready(function () {//$("#divNavigation>dl>dt>dd").css("display","none");$("#divNavigation>dl>dt>dd").hide();$.each($("#divNavigation>dl>dt"), function () {$(this).click(function () {$("#divNavigation>dl>dt>dd").not($(this).next()).slideUp();$(this).next().slideToggle(500);});});$("ul li").mousemove(function () {$(this).css("background-color", "#ccc");}).mouseout(function () {$(this).css("background-color", "#eee");});/*  鼠标经过  */$("#divNavigation dl").each(function () {$(this).children("dt").mouseover(function () {$(this).next().css("display", "block");//$(this).next().animate({ opacity: 'show' }, 700);}).mouseout(function () {$(this).next().css("display", "none");//$(this).next().animate({ opacity: 'hide' }, 700);});/* 鼠标移动到dd上 */$(this).children("dd").mouseover(function () {$(this).css("display", "block");}).mouseout(function () {$(this).css("display", "none");});});});</script><style type="text/css">dl,dd,dt,ul,li{margin:0;padding:0;height :25px;line-height:25px; font-family:微软雅黑;font-size:12px;  }#divNavigation{width:240px;   text-align:center;}#divNavigation dl dt{border-top:1px solid #ccc;background-color:#ccc;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;height:40px;line-height:40px;font-size:18px;cursor:pointer}#divNavigation ul li{list-style:none; }#divNavigation li{border-bottom:1px solid #ccc;  border-left:1px solid #ccc;border-right:1px solid #ccc;  line-height:25px;background-color:#eee;}</style>
</head>
<body><form id="form1" runat="server"><div><div style="width:1024px;height:50px;margin:0 auto; text-align:center; vertical-align:middle"><asp:Repeater ID="rptNavigation" runat="server" onitemdatabound="rptNavigation_ItemDataBound" ><ItemTemplate><div id="divNavigation" style="margin-left:1px;margin-top:10px;height:30px; float:left;"><asp:HiddenField id="hf" runat="server" Value='<%#Eval("n_name") %>'/><dl><dt><%#Eval("n_name") %></dt>                    <dd><ul style=""><asp:Repeater ID="rptS" runat="server"><ItemTemplate><li><%#Eval("n_name") %></li></ItemTemplate></asp:Repeater></ul></dd></dl>   </div></ItemTemplate></asp:Repeater>  </div><!-- 备份<div id="divNavigation" style="margin-top:10px;height:30px; float:left;"><dl><dt>基本信息管理</dt>                    <dd><ul style=""><li>Jquery</li><li>WPF</li><li>Asp.net</li><li>Winform</li></ul></dd></dl>   </div>--> <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder></div></form>
</body>
</html>


CS 代码:


 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;public partial class web_web : System.Web.UI.MasterPage
{protected void Page_Load(object sender, EventArgs e){BindNavigation();}//绑定主导航public void BindNavigation(){string sql = "select * from vip_navigation where n_bid=0";rptNavigation.DataSource = MyDBHelper.GetBySQL(sql);rptNavigation.DataBind();}//项绑定事件protected void rptNavigation_ItemDataBound(object sender, RepeaterItemEventArgs e){//查找隐藏域HiddenField hfValue = (HiddenField)e.Item.FindControl("hf");//得到隐藏域的值string strName = hfValue.Value;//查找第二个RepeaterRepeater repts = (Repeater)e.Item.FindControl("rptS");//根据查找到的名称,来获取IDstring sql1 = "select n_id from vip_navigation where n_name='" + strName + "'";DataTable dt = MyDBHelper.GetBySQL(sql1);int id = 0;foreach (DataRow dr in dt.Rows){id = (int)dr["n_id"];}//根据ID获取二级导航repts.DataSource = MyDBHelper.GetBySQL("select n_name from vip_navigation where n_bid=" + id);repts.DataBind();}
}


效果:

2011020109501214.png



转载于:https://www.cnblogs.com/307914070/archive/2011/02/01/1948550.html

相关文章:

【Qt】Qt样式表总结(三):QObject 属性

【Qt】Qt样式表总结(一):选择器 【Qt】Qt样式表总结(二):冲突和命名空间 QObject 属性 可以使用 qproperty < 属性名称 > 语法,设置任何可以Q_PROPERTY的控件 MyLabel { qproperty-pixmap: url(pixmap.png); } MyGroupBox { qproperty-titleColor: rgb(100, 2…

CVPR2019 | 斯坦福学者提出GIoU,目标检测任务的新Loss

作者 | Slumbers&#xff0c;毕业于中山大学&#xff0c;深度学习工程师&#xff0c;主要方向是目标检测&#xff0c;语义分割&#xff0c;GAN责编 | Jane本文是对 CVPR2019 论文《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》的解…

ASP.NET页面之间传递值的几种方式

页面传值是学习asp.net初期都会面临的一个问题&#xff0c;总的来说有页面传值、存储对象传值、ajax、类、model、表单等。但是一般来说&#xff0c;常用的较简单有QueryString&#xff0c;Session&#xff0c;Cookies&#xff0c;Application&#xff0c;Server.Transfer。 一…

下一代安全威胁的内幕故事

当伊朗总统马哈茂德艾哈迈迪&#xff0d;内贾德在去年11月份宣布该国的核计划遭到软件***后&#xff0c;他证实了许多安全研究人员的猜测&#xff1a;原因是Stuxnet大爆发&#xff0c;篡改了控制处理铀所用的离心机电机的关键系统。 内贾德对这起***造成的影响轻描淡写&#xf…

国内少儿眼中的编程:“Coding即是代码”?

作者 | Greg Satell译者 | 刘旭坤责编 | Jane出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;【编者按】上一个时代流行从小学奥数&#xff0c;现在“编程要从宝宝抓起”已经开始疯狂流行。随着 2017 年国务院印发《新一代人工智能发展规划》&#…

西门子发布最新版NX软件 助力零件制造的数字化

SiemensPLMSoftware近日发布最新版NXTM软件&#xff0c;集成了用于增材制造、计算机数控(CNC)加工、机器人和质量检测等新一代工具&#xff0c;以实现在统一的、集成的、端到端的系统中实现零件制造的数字化。 其中&#xff0c;用于计算机辅助制造(CAM)的先进自动化功能&#x…

【Qt】Qt国际化

参考博客&#xff1a;https://blog.csdn.net/hebbely/article/details/69388763 Qt官网&#xff1a;http://doc.qt.io/qt-5/linguist-manager.html 使用的工具 lupdate --> linguist --> lrelease 使用步骤 tr 在程序中将需要翻译的文本使用tr()函数来处理 修改pro…

回到未来 – 大胆畅想如何追赶并超越腾讯模式

其实&#xff0c;明天是什么样子&#xff0c;它就会是什么样子。 我总是喜欢幻想&#xff0c;无论是对过去还是对未来&#xff0c;对生活或是对爱情。 不过憧憬多过幻想。 一直比较关注互联网的动态&#xff0c;想象如果某某公司的某件产品如果是自己的&…

Python如何爬取实时变化的WebSocket数据

作者 | 韦世东来源 | 进击的Coder&#xff08;公众号id&#xff1a;FightingCode&#xff09;一、前言作为一名爬虫工程师&#xff0c;在工作中常常会遇到爬取实时数据的需求&#xff0c;比如体育赛事实时数据、股市实时数据或币圈实时变化的数据。如下图&#xff1a;Web 领域中…

【Qt】Qt样式表总结(四):CSS盒子模型

官网:http://doc.qt.io/qt-5/stylesheet-customizing.html#box-model 【Qt】Qt样式表总结(一):选择器 【Qt】Qt样式表总结(二):冲突和命名空间 【Qt】Qt样式表总结(三):QObject 属性 盒子模型 先来张图片,引自Qt官网 使用样式表时, 每个小部件都被视为具有四个同…

1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...

1.大数称巨量资料&#xff0c;指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。所以利用大数据的人们思维更加的敏锐&#xff0c;也会对人们的思维方式产生扩大化&#xff0c;通过大量的数据进行分析&#xff0c;从而形成…

有关GetPrivateProfileString的使用方法

函数返回值为string的长度(long型),而从ini文件获得的字符串则保留在目的缓冲器中 DWORD GetPrivateProfileString( LPCTSTR lpAppName, //配置文件的section名 LPCTSTR lpKeyName, //配置文件的key名 LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPC…

【Qt】QDebug和log4cplus的联合使用

问题描述 项目开始时&#xff0c;只使用QDebug将调试信息打印到终端上。后期添加了日志管理系统&#xff0c;比如log4cplus。如何在不修改打印语句&#xff0c;比如还使用qDebug&#xff0c;就能将日志打印到文件中。 解决方法 使用qInstallMessageHandler将调试消息重定向功…

75道常见AI面试题,看看你的知识盲点在哪?(附解析)

整理 | AI科技大本营出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;【导语】正值求职、跳槽季&#xff0c;无论你是换工作还是找实习&#xff0c;没有真本事都是万万不行的&#xff0c;可是如何高效率复习呢&#xff1f;之前我们给大家推荐了一份 …

Flex画流程图

<?xml version"1.0" encoding"utf-8"?><mx:Application xmlns:mx"http://www.adobe.com/2006/mxml" layout"absolute" creationComplete"initApp()"> <mx:Canvas id"paper" x"30" y&q…

【Qt】Qt信号与槽使用不当,使程序崩溃

问题描述 跨线程使用Qt信号和槽&#xff0c;信号发送时间间隔小于槽函数处理时间时&#xff0c;造成程序崩溃。 原因分析 跨线程使用Qt信号和槽时&#xff0c;connect默认是QueuedConnection&#xff0c;队列连接方式。 信号传递给槽函数的参数&#xff0c;分配内存后放入队…

70亿美金!英伟达欲竞购这家以色列芯片公司!

整理 | 琥珀出品 | AI科技大本营&#xff08;公众号id&#xff1a;rgznai100&#xff09;近日&#xff0c;据国外财经媒体 Calcalist 报道&#xff0c;英伟达已给出报价&#xff0c;竞购以色列芯片设计公司迈络思&#xff08;MellanoxTechnologies&#xff09;。实际上&#xf…

Mysql安全配置

zhangsan 2014/06/14 11:550x01 前言很多文章中会说&#xff0c;数据库的权限按最小权限为原则&#xff0c;这句话本身没有错&#xff0c;但是却是一句空话。因为最小权限&#xff0c;这个东西太抽象&#xff0c;很多时候你并弄不清楚具体他需要哪些权限。 现在很多mysql用着r…

【C++】Google C++编码规范(一):作用域

1、文件作用域&#xff1a; 在.cpp文件中&#xff0c;C使用匿名名字空间来表示文件作用域&#xff0c;C使用static来表示&#xff1b; 2、局部变量 局部变量在声明的同时&#xff0c;进行显示初始化&#xff1b;比起隐式初始化再赋值要高效&#xff1b; 局部变量的作用域要尽…

华为 | 人生苦短,码短情长,有场大Party等你来Pick!

上学时&#xff0c;书上说C语言是上帝的语言。我同屋的兄弟不服&#xff0c;他说PHP才是最好的语言。毕业之后&#xff0c;我们Team的老大却坚信&#xff1a;Life is short&#xff0c;只用Python……现在&#xff0c;作为一个真正的开发者&#xff0c;我发现用什么语言一点点都…

设置进程优先级

//取得本进程id HANDLE hProcess GetCurrentProcess(); //设置本进程的优先级 int stat SetPriorityClass(hProcess, NORMAL_PRIORITY_CLASS);

Deep Reading | 从0到1再读注意力机制,此文必收藏!

译者 | forencegan编辑 | 琥珀出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;【AI科技大本营导语】注意力机制&#xff08;Attention&#xff09;已经成为深度学习必学内容之一&#xff0c;无论是计算机视觉还是自然语言处理都可以看到各种各样注意力机制的方法。之…

【C++】Google C++编码规范(二):类

1、构造函数 不要在构造函数中进行复杂的初始化 (尤其是那些有可能失败或者需要调用虚函数的初始化). 构造函数不得调用虚函数, 或尝试报告一个非致命错误. 如果对象需要进行有意义的 初始化, 考虑使用明确的 Init() 方法或使用工厂模式. 2、初始化 第一种方法&#xff1a;构…

Flask与Django对比

Flask与Django对比 Django vs FlaskFlask框架之间的差别 Django功能大而全&#xff0c;Flask只包含基本的配置 Django的一站式解决的思路&#xff0c;能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。Django有模板&#xff0c;表单&#xff0c;路由&#xff0c…

windows下apache配置虚拟主机的两个方法

windows下apache配置虚拟主机方法一&#xff1a; 对httpd.conf进行设置&#xff1a;1.注释以下三行#ServerAdmin#ServerName#DocumentRoot2&#xff0e;去掉mod_proxy.so和mod_proxy_ajp.so的注释3&#xff0e;#Virtual hosts#Include conf/extra/httpd-vhosts.conf &#xff0…

大疆、港科大联手!双目3D目标检测实验效果大放送 | CVPR 2019

作者 | heryms责编 | JaneCVPR 2019的文章出来了&#xff0c;今天聊聊双目的 3D object detection。这是一篇来自 DJI &#xff08;大疆&#xff09;与港科大合作的文章《Stereo R-CNN based 3D Object Detection for Autonomous Driving》&#xff0c;作者分别是 Peiliang Li&…

【C++】Google C++编码规范(三):智能指针

【C】Google C编码规范&#xff08;一&#xff09;&#xff1a;作用域 【C】Google C编码规范&#xff08;二&#xff09;&#xff1a;类 std::unique_ptr std::unique_ptr是C11标准里新推出的智能指针&#xff0c;用来表示动态分配出的对象的「独一无二」所有权&#xff1b…

Django restful-framework初步学习

urls.py from django.conf.urls import include, url from django.contrib import admin from rest_framework import routers # 导入api路由 from app01 import apirouter routers.DefaultRouter() # 获取api路由对象 router.register(rusers, api.UserViewSet) # 注册路由到…

植树节,程序员要爬哪些“树”?

作者 | 程序猿小吴、进击的Hello_World转载自五分钟学算法&#xff08;ID: CXYxiaowu&#xff09;公历 3 月 12 日是一年一度的植树节。旨在宣传保护森林&#xff0c;并动员群众参加植树造林活动。说到树&#xff0c;程序猿们肯定不陌生&#xff0c;趁着这个植树节&#xff0c;…

把JS 脚本嵌入CS运行

下面这段视频&#xff0c;是让您知道怎样把播放器的javascript放入C#类别中。在调用这个类别时&#xff0c;只传入相关的参数&#xff0c;即可运行。一时类别封装了&#xff0c;在前台xxx.aspx或xxx.aspx.cs看不到播放器的代码。 另一个就是在CS内怎样运行Javascript脚本。此工…