千家信息网

如何编写ASP.NET站点导航

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"如何编写ASP.NET站点导航",在日常操作中,相信很多人在如何编写ASP.NET站点导航问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何编写ASP
千家信息网最后更新 2026年10月31日如何编写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安全错误 数据库的锁怎样保障安全 喔噻互联网科技有限公司 中国互联网科技工作委员会毛军 互联网科技垄断 互联网科技媒体 睿民互联网科技 奔汉互联网科技 伴你行互联网科技有限公司 互联网科技公司有哪些 互联网科技博客 科技互联网的估值 互联网大会黑科技排名 受益于互联网科技的高速发展 彤创互联网科技有限公司 赶超互联网科技 微信多开 和信科技工业互联网 互联网科技研发水平 浙南科技城互联网大厦建设工程 南京一网一红互联网科技有限公司 互联网的科技体现在哪里 如何强化互联网金融科技 互联网科技名片 广州为想互联网科技有限公司 狮子座互联网科技培训 互联网金融和金融科技 成都仁贤领冠互联网科技有限公司 苏州铭阳互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 南京一网一红互联网科技有限公司 上海乐五互联网科技有限公司 10位科技互联网大佬
0