65.9K
CodeProject 正在变化。 阅读更多。
Home

构建和显示无限级别的动态菜单

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.88/5 (8投票s)

2005年9月30日

2分钟阅读

viewsIcon

60424

downloadIcon

1642

本文为开发人员和非开发人员提供了一个模块,该模块可以构建和显示动态无限级别的菜单[英语和阿拉伯语]。

引言

此代码是一个.NET项目,安装后将为您提供三个网页:第一个允许您使用类似于Windows资源管理器的树视图来构建菜单,您可以创建无限的子菜单;第二个页面以从左到右的方式显示英文网站的菜单;第三个页面以从右到左的方式显示阿拉伯网站的菜单。现在,网站开发人员无需担心菜单。只需使用第一个页面在线构建菜单,然后使用其他页面之一从数据库显示菜单。 他们现在可以创建和显示具有无限子菜单的菜单。 该模块包含Bluegrass Technologies的JavaScript和CSS代码版权。

使用代码

要求

您的机器应该具有

  1. .NET Framework v 1.1
  2. SQL Server 2000
  3. IIS 5.0

步骤

  1. 运行文件webcontrol/iewebcon.msi
  2. 运行文件setup.exe (websetup1/debug/setup.exe)。
  3. 在您的SQL Server中运行脚本文件dbscript.sql以创建表菜单。
  4. 使SQL Server中的身份验证混合。
  5. 在文件data/sqlconnection.txt中将连接字符串更改为您的SQL Server的连接字符串。
  6. 它将在您的IIS中创建一个名为dynamicmenu的应用程序。

您将在应用程序中找到三个页面

  1. english.aspx以显示从左到右的菜单。

  2. arabic.aspx以显示从右到左的菜单。

  3. menuadmin.aspx以构建您的菜单。

注意:菜单表包含一些项目,您可以删除它们。

如何构建菜单

  1. 转到https:///dynamicmenu.aspx
  2. 您会发现一棵树,并选中一个名为menu的节点。
  3. 写入菜单项的名称和URL,然后按“添加”,该项将被创建并选中。
  4. 选择要在其中添加菜单的节点,然后重复步骤3。

如何删除菜单项

您无权从数据库中删除项目。 但是,您也可以通过选择它并按下相应的按钮来使其隐藏或可见。

注意:菜单项将从英语或阿拉伯语显示中隐藏,而不是从菜单管理树中隐藏。

如何更改显示设置

在文件res/css/english.cssarabic.css中,您可以更改菜单的宽度,箭头的图像以及颜色设置。

//////Arabic.aspx///////////////////
ul
{
    width: 230px; ////////width of the menu
    border: solid 1px #cccc99;
    border-top: solid 5px #cccc99;
    border-left: solid 2px #cccc99;
    padding: 0px;
}

li ul
{
    display: none;
    position: absolute;
    margin-right: 260px; //// should be 2*width-5
    margin-top: -30px;
}
////////////////////english.aspx///////////////
ul
{
    width: 230px; //////width of the menu
    border: solid 1px #cccc99;
    border-top: solid 5px #cccc99;
    border-right: solid 2px #cccc99;
    padding: 0px;
}

li ul
{
    display: none;
    position: absolute;
    margin-left: 225px;///////should be width-5
    margin-top: -25px;
}
///////////////////////////////////////////////

在显示页面中,您将找到样式表以更改菜单的字体,颜色和悬停效果。

关注点

我认为增加的价值在于能够使用递归函数从数据库显示菜单的无限子项,并提供一个树视图来构建菜单。

© . All rights reserved.