`
chenxueyong
  • 浏览: 342049 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

利用ASP.NET的menu和SQL数据库制作无限级别菜单

阅读更多
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
System.Data.SqlClient;
using
WebTools;
public partial class
Default4 : System.Web.UI.Page
{
    
public int
parentID;
    
public Tools Connectionstr1 = new
Tools();
    
protected void Page_Load(object
sender, EventArgs e)
    
{
        
string Connectionstr =
Connectionstr1.connStr.ConnectionString;
         SqlConnection SconnStr
= new
SqlConnection(Connectionstr);
        
//设定数据库操作命令

         SconnStr.Open();
         SqlCommand Scmd
= new SqlCommand("select * from menuTable where parentID=0"
, SconnStr);
         SqlDataReader odr
=
Scmd.ExecuteReader();
        
while
(odr.Read())
        
{
             MenuItem menuNode
= new
MenuItem();
             menuNode.Text
= odr["menuName"
].ToString();
             menuNode.Value
= odr["id"
].ToString();
             menuNode.Enabled
= true
;
             menuNode.Target
= odr["target"
].ToString();
             menuNode.NavigateUrl
= odr["url"
].ToString();
             Menu1.Items.Add(menuNode);
             parentID
= Convert.ToInt16(odr["id"
].ToString());
             addchildmenu1(menuNode, menuNode.Value);
         }

        
//关闭数据库连接
         Scmd.Connection.Close();
     }

    
protected void addchildmenu1(MenuItem pnode,string
pid)
    
{
        
string Connectionstr =
Connectionstr1.connStr.ConnectionString;
         SqlConnection SconnStr1
= new
SqlConnection(Connectionstr);
        
//设定数据库操作命令

         SconnStr1.Open();
         SqlCommand Scmd1
= new SqlCommand("select * from menuTable where parentID=" + parentID + ""
, SconnStr1);
         SqlDataReader odr
=
Scmd1.ExecuteReader();
        
while
(odr.Read())
        
{
             MenuItem menuNode
= new
MenuItem();
             menuNode.Text
= odr["menuName"
].ToString();
             menuNode.Value
= odr["id"
].ToString();
             menuNode.Enabled
= true
;
             menuNode.Target
= odr["target"
].ToString();
             menuNode.NavigateUrl
= odr["url"
].ToString();
             pnode.ChildItems.Add(menuNode);
             parentID
= Convert.ToInt16(odr["id"
].ToString());
             addchildmenu2(menuNode, menuNode.Value);
         }

        
//关闭数据库连接
         Scmd1.Connection.Close();
     }

    
protected void addchildmenu2(MenuItem pnode, string
pid)
    
{
        
string Connectionstr =
Connectionstr1.connStr.ConnectionString;
         SqlConnection SconnStr1
= new
SqlConnection(Connectionstr);
        
//设定数据库操作命令

         SconnStr1.Open();
         SqlCommand Scmd1
= new SqlCommand("select * from menuTable where parentID=" + parentID + ""
, SconnStr1);
         SqlDataReader odr
=
Scmd1.ExecuteReader();
        
while
(odr.Read())
        
{
             MenuItem menuNode
= new
MenuItem();
             menuNode.Text
= odr["menuName"
].ToString();
             menuNode.Value
= odr["id"
].ToString();
             menuNode.Enabled
= true
;
             menuNode.Target
= odr["target"
].ToString();
             menuNode.NavigateUrl
= odr["url"
].ToString();
             pnode.ChildItems.Add(menuNode);
             parentID
= Convert.ToInt16(odr["id"
].ToString());
             addchildmenu1(menuNode, menuNode.Value);
         }

        
//关闭数据库连接
         Scmd1.Connection.Close();
     }

}
分享到:
评论

相关推荐

    ASP.NET 菜单MENU控件数据库

    ASP.NET中的菜单控件(Menu Control)是一种强大的工具,用于在网页上构建层次结构清晰的导航菜单。这个控件能够动态地从数据源,如数据库,加载和显示菜单项,使得网站的导航更加灵活和可扩展。在本项目中,我们将...

    asp.net mvc4 ztree 连接数据库 动态生成菜单简单demo

    在这个“asp.net mvc4 ztree 连接数据库 动态生成菜单简单demo”中,我们将探讨如何利用ASP.NET MVC4的技术特性结合ZTree,一个流行的JavaScript树状视图插件,来动态生成菜单,同时连接到数据库获取数据。...

    ASP.NET-[其他类别]无限级树形菜单(Sql数据库).zip

    在这个特定的案例中,我们关注的是如何在ASP.NET环境中实现一个无限级树形菜单,这个菜单的数据存储在Sql数据库中。无限级树形菜单通常用于网站的导航系统,允许用户以层次结构的方式浏览大量组织有序的信息。 实现...

    ASP.NET 2.0全程指南数据库

    本指南将深入探讨ASP.NET 2.0与数据库交互的核心概念和技术。 1. **ASP.NET 2.0简介** ASP.NET 2.0不仅增强了性能,还引入了大量新特性,如控件状态管理、母版页、主题、皮肤和站点地图,这些都极大地提升了开发...

    ASP.NET实现的动态Menu

    4. **菜单结构**:ASP.NET Menu控件支持层次结构,可以通过`StaticDisplayLevels`和`DynamicDisplayLevels`属性设置静态和动态菜单的显示层数。`Static menus`是预定义的菜单结构,而`Dynamic menus`在运行时根据...

    asp.net 动态菜单

    本文主要介绍在网页中动态下拉菜单的特点及其优势,并详细讲解如何通过ASP.NET中的Menu控件结合SQL Server数据库技术来实现网页动态下拉菜单。 #### 引言 随着互联网的发展,动态下拉菜单在网站导航设计中扮演着...

    ASP.NET树形菜单Tree数据库版

    这个"ASP.NET树形菜单Tree数据库版"项目显然利用了数据库存储数据,然后动态生成树形菜单,以实现更加灵活和动态的菜单管理。 在ASP.NET中,TreeView控件用于展示层次结构的数据,如组织架构、文件目录等。它能够以...

    .net Menu控件动态绑定数据库(C#)css样式

    在.NET框架中,ASP.NET 2.0引入了一个强大的控件——Menu,它允许开发者创建交互式的导航菜单。本文将详细讲解如何使用C#语言,结合数据库和CSS样式,实现.NET Menu控件的动态绑定。 首先,理解Menu控件的基本概念...

    asp.net 在VB中制作和使用菜单源码

    在ASP.NET中制作和使用菜单通常涉及到以下知识点: 1. **控件与用户界面**: - 菜单控件(Menu Control):ASP.NET提供了一个内置的菜单控件,可以方便地创建多级导航菜单。它允许开发者通过代码或设计视图来定义...

    asp.net2.0导航菜单

    在这个“asp.net2.0导航菜单”主题中,我们将深入探讨如何在ASP.NET 2.0环境中创建和实现功能丰富的导航菜单。 导航菜单是Web应用中的重要组成部分,它帮助用户在网站的不同部分之间进行导航。在ASP.NET 2.0中,有...

    asp.net Menu控件+SQLServer实现动态多级菜单

    总之,通过ASP.NET的Menu控件和SQL Server,我们可以轻松地构建灵活、动态的多级导航菜单,提供良好的用户体验,并且易于维护和扩展。在实际项目中,可能还需要考虑权限管理、动态加载(如懒加载)以及样式定制等...

    ASP.NET 菜单管理

    ASP.NET菜单管理是一个常见的Web应用程序开发任务,它涉及到构建用户界面中的导航结构,使用户能够方便地访问网站或应用程序的不同功能。在这个项目中,我们看到学长使用了C#编程语言和ASP.NET框架来实现这一功能。...

    一个不错的asp.net仿outlook菜单

    在ASP.NET中,我们可以使用`<asp:Menu>`控件或者自定义控件来构建菜单结构,通过`Items`属性添加菜单项,并可以设置每个菜单项的文本、URL和级别等属性。 2. **CSS样式**:为了模仿Outlook的外观,我们需要使用CSS...

    自编ASP.NET中动态TreeView实例

    这个实例“自编ASP.NET中动态TreeView实例”将演示如何利用三层架构来创建一个与数据库(这里使用的是SQL Server 2005)交互的动态TreeView。 1. **三层架构**: - **表现层(UI Layer)**:这是ASP.NET Web应用...

    asp.net技术概要

    在ASP.NET中,可以利用Master Page(母版页)来实现一致的外观和布局。母版页提供了基础结构,而ContentPlaceHolder控件允许各个子页面(ContentPage)根据需要添加自定义内容。母版页和内容页面在运行时会合并,...

    .net 动态菜单 折叠

    7. **AJAX**:为了提供更好的用户体验,可以使用ASP.NET AJAX来实现无刷新加载,当用户展开或折叠菜单时,只更新菜单部分,而不是整个页面。 8. **性能优化**:对于大型系统,考虑到性能,可以采用缓存策略来存储...

    一个基于ASP.NET+JS+DB实现的动态Menu扩展用户控件源码

    总结起来,这个项目展示了一个使用ASP.NET、VB.NET和JavaScript技术构建的动态菜单系统,它依赖于数据库来存储和获取菜单数据,并通过客户端的JavaScript进行交互处理,提供了灵活且可扩展的用户界面。

    asp.net(C#)生成无限级别菜单

    在***中实现无限级别菜单...在***中实现无限级别菜单的关键在于合理设计数据库结构,合理利用递归算法以及熟悉.NET框架提供的控件功能。以上知识点能够帮助开发者理解和掌握如何在***中创建和管理无限级别的菜单结构。

    asp.net 动态装入菜单项源码

    3. **创建控件**:使用ASP.NET的控件如`TreeView`、`Menu`或自定义控件,根据数据生成对应的菜单项。在VB.NET中,可以利用控件的`Items`集合添加`MenuItem`对象,每个`MenuItem`代表一个菜单项。 4. **事件绑定**:...

Global site tag (gtag.js) - Google Analytics