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內,動態加載與綁定菜單的數據從數據庫中。



演示:




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM