• Vertical Menu ver4


    以前一直使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[0];
            }
        }
    }
    SiteMenu.cs

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



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



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



    演示:



  • 相关阅读:
    Spark权威指南(中文版)----第5章 结构化API基本操作
    Spark权威指南(中文版)----第2章 Spark简介
    Spark权威指南(中文版)----第4章 结构化API概述
    Spark权威指南(中文版)----第1章Apache Spark是什么
    Java读写锁的实现原理
    【进阶之路】动态代理与字节码生成
    如何写好技术文档——来自Google十多年的文档经验
    谈谈 C++ STL 中的迭代器
    面试官疯狂问我联表查询怎么办? 愣着干嘛?进来白嫖啊!
    面试问题记录 三 (JavaWeb、JavaEE)
  • 原文地址:https://www.cnblogs.com/insus/p/3205293.html
Copyright © 2020-2023  润新知