千家信息网

如何编写ASP.NET站点导航

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"如何编写ASP.NET站点导航",在日常操作中,相信很多人在如何编写ASP.NET站点导航问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何编写ASP
千家信息网最后更新 2026年11月01日如何编写ASP.NET站点导航

这篇文章主要介绍"如何编写ASP.NET站点导航",在日常操作中,相信很多人在如何编写ASP.NET站点导航问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何编写ASP.NET站点导航"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

导航实际上给访问者提供了一个地图类似的东西,让访问者更快地找到想要的东西。

在2.0中引入了一个很重要的概念,那就是站点地图siteMap这样一个XML文件,但是它后缀不是XML。

若要为站点创建一致的、容易管理的导航解决方案,可以使用asp.net站点导航。asp.net站点导航提供下列功能:




在了解了一些基本知识后,我们来做一个简单的导航的例子。

1、首先创建一个master

html代码:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="mp.master.cs" Inherits="Navigation.mp" %>               
您当前的位置在:
版权所有 。。。。。。。

显示的效果:

2、建立如下导航结构(统一应用上面的master)

3、添加站点地图(名称不可以改)

Web.sitemap下的代码如下:

                                                      

4、在根目录下a.aspx,放一个treeView控件。新建数据源为我们建立的站点地图。

运行后,我们便可以看到效果如图所示:

接下来会讲动态修改内存中的站点地图,什么叫动态修改内存中的站点地图,到底是什么意思呢?

例如文章列表中通常都有多篇,我们总不能把这些都放到站点地图中去,何况文章ID、栏目编号、商品分类或者商品ID也不是我们事先能够预料到的,那么站点地图里没有,外面就不能显示,该怎么办呢?这就需要用到动态修改内存中的站点地图了。
如上面提出的问题,我们假设有一个文章管理系统结构如下:
首页-新闻-国际新闻(列表)
那么可以假设国际新闻这一级的页面是list.aspx,不同的栏目会有不同的ID,那么地址结构就假设如下:
xxx.com--~/news/--list.aspx?id=3&page=12
这样一个结构,我们对新闻列表页的处理就可以只在站点地图中静态地写上url="~/news/list.aspx"。那么如果在别人浏览时呈现出上面的结构呢,我们接下来处理。
Web.sitemap:

                                                      

主要就是用到title为动态修改内存中的这一句来演示。
然后在演示页面sitemap.aspx中放一个SitemapPath控件,注意设置它的renderCurrentNodeAsLink为true(指示当前结点为链接)
页面的后台代码:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;  namespace Navigation {  public partial class sitemap : System.Web.UI.Page  {   protected void Page_Load(object sender, EventArgs e)   {    //首先我们在这里注册一个事件,也就是说在访问CurrentNode属性的时候触发这个事件    SiteMap.SiteMapResolve+=new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);   }   SiteMapNode SiteMap_SiteMapResolve(object sender,SiteMapResolveEventArgs e)   {    //我们自定义的处理方法 获取并创建当前节点的副本,并同时复制他的上级节点    SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);     SiteMapNode TempNode = CurrentNode;     int id = nid();    int page = npage();     //从下面方法中得到变量    if (id>0)    {     TempNode.Url = TempNode.Url + "?id=" + id.ToString();    }    if (id>0 && page>=0)    {     TempNode.Url = TempNode.Url + "&page=" + page.ToString();    }    else if (page>0)    {     TempNode.Url = TempNode.Url + "?page=" + page.ToString();    }    return TempNode;   }   //随便设置一个数。   private int nid()   {    return 3;   }   private int npage()   {    return 12;   }  } }

解释:上面的nid()和npage(),是用来获取参数的两个方法,实际中根据实际情况而定。
运行,我们看看这个链接的属性:

到此,我们就很简单的实现了动态修改内存中的站点地图了!

到此,关于"如何编写ASP.NET站点导航"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

站点 地图 导航 站点导航 内存 动态 结构 文章 新闻 方法 学习 接下来 代码 实际 面的 页面 处理 不同 东西 事件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技公司简介 深圳九邦互联网科技有限公司 高科技互联网 互联网科技垄断 互联网 科技 小马过河互联网科技 丰台科技园 互联网公司 互联网科技创新企业排名 深圳市运趣互联网科技有限公司 玖二柒互联网科技公司待遇 岳阳华臻互联网科技有限公司 本届互联网博览会上的黑科技 互联网公司高科技产品 科技和互联网行业的特点 数字互联网科技有限公司 北京品多多互联网科技有限公司 黑龙江互联网科技公司 重庆科技产业互联网有哪些 科技互联网企业在行动 广州万易互联网科技有限公司 火传媒上海互联网科技 盛创互联网科技有限公司 哈尔滨新华互联网科技 阿里互联网科技公司 重庆威客帮互联网科技 金融科技与互联网金融相同和不同 青岛科技大学互联网大赛研究生 互联网科技研发水平 南京一网一红互联网科技有限公司
0