首页 > 编程 > .NET > 正文

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

2024-07-10 12:40:04
字体:
来源:转载
供稿:网友

网址其实就是目录文件的影射。因此只要拆分URL,并且根据URL的层级关系进行循环,就可以得到当前导航文件的目录。

1、建立数据库表:Navigate

列名数据类型说明
idint
parentIdint父ID
rootint层级,0代表根目录,最顶层
pathNamevarchar(50)(URL)路径名称
navNamevarchar(50)(栏目)导航名称


2、建立用户控件 navigate.ascx
-----------------------------------------------------------
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Navigate.ascx.cs" Inherits="UC_Navigate" %>
<div style="display:block;margin-top:5px;margin-left:3px;margin-bottom:5px;">

     您当前的位置:<a href="/index.aspx">首页</a> 
      >>
      <asp:Label ID="lblNavigate" runat="server"></asp:Label>
      <asp:Label ID="lblTitle" runat="server"></asp:Label>

</div>


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));
       }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表