以前一直使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内,动态加载与绑定菜单的数据从数据库中。

演示:

Vertical Menu ver4的更多相关文章

  1. Div Vertical Menu ver5

    这个小功能,如果是算此次,已经是第5次修改了.可以从这里看到前4次:V1, http://www.cnblogs.com/insus/archive/2011/10/17/2215637.html V ...

  2. “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)

    前言 孔子说:"软件是对客观世界的抽象". 首先声明,这里的"三维导航"和地图没一毛钱关系,"四核驱动"和硬件也没关系,而是为了复杂的应用而 ...

  3. javafx之CSS初探

    文档:http://www.haogongju.net/art/1807238 javafx中的css元素必须有-fx-前缀. 一.介绍 java8中新增了javafx.css开放了css相关api. ...

  4. Oracle Form属性、内置子程序、触发器、系统变量简要

    一.属性 1.1 通用属性 名称(Name) 子类信息(Subclass Information) 备注(Comments) 标题(Title) 方向(Direction) 字体名称(Font Nam ...

  5. 常用Jquery插件整理大全

    做项目的时候总是少不了要用到Jquery插件,但是Jquery插件有太多,每次都要花费一些时间,因此本人就抽时间整理了一些Jquery插件,每个插件都有Demo或者是使用文档供大家下载.整理了一晚上才 ...

  6. 基于jQuery弹性展开收缩菜单插件gooey.js

    首先 引入css <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel ...

  7. Bootstrap 简介: 创建响应式、移动项目的工具

    原文链接: Introduction to Bootstrap: A Tool for Building Responsive, Mobile-First Projects 下载: 示例代码Boots ...

  8. 25个可遇不可求的jQuery插件

    随着jQuery插件在网站建设过程中的使用率不断的增加,所以有必要跟进时代步伐开发出一些新的插件/代码片段,以此来巩固并提高前端用户体验,将用户体验提升到一个新的高度. 接下来所推荐的这些插件中有滑块 ...

  9. jQuery弹性展开收缩菜单插件gooey.js

    分享一款基于jQuery弹性展开收缩菜单插件gooey.js.这是一款基于gooey.js插件实现的弹性菜单特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <hea ...

随机推荐

  1. C#中将DataTable导出为HTML的方法

    今天我要向大家分享一种将DataTable导出为到HTML格式的方法.有时我们需要HTML格式的输出数据, 以下代码就可以帮助我们达到目的,. 首先,我们要绑定DataTable和 DataGridV ...

  2. AFNetworking 3.0 源码解读(九)之 AFNetworkActivityIndicatorManager

    让我们的APP像艺术品一样优雅,开发工程师更像是一名匠人,不仅需要精湛的技艺,而且要有一颗匠心. 前言 AFNetworkActivityIndicatorManager 是对状态栏中网络激活那个小控 ...

  3. js callee,caller学习

    原文地址:js callee,caller学习 /* * caller 返回一个对函数的引用,该函数调用了当前函数. * 如果函数是由顶层调用的,那么 caller包含的就是 null . * 如果在 ...

  4. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  5. Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误——SHH框架

    SHH框架工程,Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误 1.查看配置文件web.xml中是否配置.or ...

  6. Java程序:从命令行接收多个数字,求和并输出结果

    一.设计思想:由于命令行接收的是字符串类型,因此应先将字符串类型转化为整型或其他字符型,然后利用for循环求和并输出结果 二.程序流程图: 三.源程序代码:   //王荣荣 2016/9/23     ...

  7. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

  8. 【AI开发第一步】微软认知服务API应用

    目录 介绍 API分类 使用‘视觉’API完成的Demo 点击直接看干货 介绍 从3月份Google家的阿尔法狗打败韩国围棋冠军选手李世石,到之后微软Build2016大会宣布的“智能机器人”战略.种 ...

  9. nfs 笔记 2

    http://woxihuanpes.blog.163.com/blog/static/12423219820097139145238/ http://blog.csdn.net/willvc123/ ...

  10. MVC 验证码实现( 简易版)

    现在网站上越来越多的验证码,使用场景也是越来越多,登陆.注册.上传.下载...等等地方,都有可能大量使用到验证码,那么制作验证码到底有多简单呢?我们一起来看下最简易版的验证码实现过程- 验证码的基本步 ...