以前一直使div来创建Vertical菜单,也曾有过3个版本。
http://www.cnblogs.com/insus/archive/2011/10/19/2217314.html

现今Insus.NET抛开DIV标签生成的方法,使用a标签,而且是能动态添加的Vertical的网站左边菜单条。
为了能够动态管理,莫非是把菜单的信息存储于数据库中,在网站的后管理页面能够添加,编辑,更新及删除这些菜单的信息。

SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO SET ANSI_PADDING ON
GO
-- =============================================
-- Author: Insus.NET
-- Create date: 2013-07-22
-- Description: site left menu .
-- =============================================
CREATE TABLE [dbo].[SiteMenu](
[SiteMenu_nbr] [tinyint] IDENTITY(1,1) NOT NULL,
[MenuName] [nvarchar](30) NOT NULL,
[Link] [varchar](200) NULL,
[Target] [varchar](10) NULL,
PRIMARY KEY CLUSTERED
(
[SiteMenu_nbr] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO SET ANSI_PADDING OFF
GO

[dbo].[SiteMenu]

有关添加,更新和删除的存储过程,在此略过,只提供一个SELECT的存储过程:

SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: Insus.NET
-- Create date: 2013-07-22
-- Description: get all site left menu .
-- =============================================
CREATE PROCEDURE [dbo].[usp_SiteMenu_GetAll]
AS
SELECT [SiteMenu_nbr],[MenuName],[Link],[Target] FROM [dbo].[SiteMenu] GO

[dbo].[usp_SiteMenu_GetAll]

在网站中,需要创建一个访问数据库的类别。

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web; /// <summary>
/// Summary description for SiteMenu
/// </summary>
namespace Insus.NET
{
public class SiteMenu
{
private byte _SiteMenu_nbr;
private string _MenuName;
private string _Link;
private string _Target; public byte SiteMenu_nbr
{
get { return _SiteMenu_nbr; }
set { _SiteMenu_nbr = value; }
}
public string MenuName
{
get { return _MenuName; }
set { _MenuName = value; }
}
public string Link
{
get { return _Link; }
set { _Link = value; }
}
public string Target
{
get { return _Target; }
set { _Target = value; }
} BusinessBase objBusinessBase = new BusinessBase(); public SiteMenu()
{
//
// TODO: Add constructor logic here
//
} public DataTable GetAll()
{
return objBusinessBase.GetDataToDataSet("usp_SiteMenu_GetAll").Tables[];
}
}
}

SiteMenu.cs

在菜单呈现之前,先写好菜单的样式:

菜单一般都是共用的,因此Insus.NET在演示时,把它放在MasterPage母版页内。创建一个母版页:

下面是在.master.cs内,动态加载与绑定菜单的数据从数据库中。

演示:

最新文章

  1. .数据库连接池技术:DBCP和C3P0
  2. ubuntu下rhythmbox歌名显示乱码问题解决
  3. Android APP 读取 AndroidManifest.xml 中的版本信息详解
  4. 我的archlinux中安装的关于xfce4的软件
  5. VMware虚拟机无法ping通/分配虚拟IP/远程访问的问题的解决方案:
  6. Java基础-super关键字与this关键字
  7. ios NSURLSession completeHandler默认调用quque
  8. 生成freemarker静态页面的工具类
  9. Linux下LDAPSearch的例子
  10. sql语句增删改查(转)
  11. memcached/redis安全性
  12. windows phone 生产含logo的二维码
  13. 黑马程序员-for和foreach
  14. StringBuilder是不是线程安全的?
  15. vuex的简易入门
  16. 开发Nginx模块Helloworld
  17. ADO.NET MSSSQLServer 操作简要总结
  18. Vagrant 命令详解
  19. ethereum/EIPs-191 Signed Data Standard
  20. 命令提示符操作及Java的特点

热门文章

  1. TortoiseGit 文件比对工具使用 Beyond Compare 和 DiffMerge
  2. 用FSM一键制作逐帧动画雪碧图 Vue2 + webpack
  3. 接口--interface
  4. 获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)
  5. CSS常见技巧
  6. iOS之计算上次日期距离现在多久, 如 xx 小时前、xx 分钟前等
  7. atitit.管理学三大定律:彼得原理、墨菲定律、帕金森定律
  8. TCP三次握手图解
  9. js中的null 和undefined
  10. mono for android学习过程系列教程(4)