动态修改内存中的站点地图节点

动态修改内存中的站点地图节点2008-03-06 16:04经常我们会遇上类似News.asp?id=12&page=2这样的URL格式,而我们在站点地图文件中不可能每一个都写在文件中,这样就需要在内存中根据需要动态的添加节点.

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 12;
    }
    private int npage()
    {
        return 2;
    }
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值