Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > C#/.NET技巧

使用UserControl做网站导航条的思路 分析

来源:中文源码网    浏览:146 次    日期:2024-05-09 11:12:22
【下载文档:  使用UserControl做网站导航条的思路 分析.txt 】


使用UserControl做网站导航条的思路 分析
网址其实就是目录文件的影射。因此只要拆分URL,并且根据URL的层级关系进行循环,就可以得到当前导航文件的目录。1、建立数据库表:Navigate
列名
数据类型
说明
id
int
parentId
int
父ID
root
int
层级,0代表根目录,最顶层
pathName
varchar(50)
(URL)路径名称
navName
varchar(50)
(栏目)导航名称2、建立用户控件 navigate.ascx-----------------------------------------------------------<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Navigate.ascx.cs" Inherits="UC_Navigate" %>
您当前的位置:首页 >>
3、用户控件的CS后台文件 navigate.ascx.cs-----------------------------------------------------------using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;
using Bai51.Data;
public partial class UC_Navigate : System.Web.UI.UserControl{ private string localUrl="http://localhost:8085"; private string title; private DataSet ds; private DataTable dt; protected void Page_Load(object sender, EventArgs e) { #region -- 获取导航信息表内容(缓存) -- ds=(DataSet)Cache["dsNavigateCache"]; if(ds==null) { ds=SqlComd.CreateSqlDataSet("select * from navigate","dsNavigate"); Cache.Insert("dsNavigateCache",ds,null,System.Web.Caching.Cache.NoAbsoluteExpiration,TimeSpan.FromHours(24)); } dt=ds.Tables[0]; #endregion #region -- 生成导航信息 -- //分割当前URL地址 string[] webUrl = System.Web.HttpContext.Current.Request.Path.Split(new char[] { '/' }); int len = webUrl.Length - 1; //层级循环 string strUrl = localUrl + "/"; string strNavigate = ""; string parenId = "0"; for (int i = 1; i < len; i++) { string sql = "root=" + Convert.ToString(i-1) + " and pathName='" + webUrl[i] + "' and parentId=" + parenId; DataRow[] rows = dt.Select(sql); //循环连接地址 strUrl += (webUrl[i] + "/"); strNavigate += "" + rows[0]["navName"].ToString() + "" + " >> "; //保存父ID parenId = rows[0]["Id"].ToString(); } #endregion lblNavigate.Text=strNavigate; lblTitle.Text=title ; } #region --控件属性 -- public string LocalUrl { get{return localUrl;} set{ localUrl=value ;} } public string Title { get { return title; } set { title = value; } } #endregion }4、使用方法-----------------------------------------------------------在页面中拖入 Navigate.ascx 用户控件,命名为"navBar"。在后台代码中写入当前文件的导航名称即可。 navBar.Title = "本页面是XX栏目";

相关内容