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

来源:互联网 发布:redis 大量数据排序 编辑:程序博客网 时间:2024/05/18 03:28

动态修改内存中的站点地图节点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;
    }
 
 

原创粉丝点击