请问SiteMapPath如何以编程方式获得父结点和根结点?在线等!
  SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);//这里应该是获得(且Clone)当前结点吧
        SiteMapNode TempNode = CurrentNode;
        TempNode.Url += "?id=5";
可是如何获得父结点或根结点,获得后又如何设置他们的Url??
谢谢!

解决方案 »

  1.   


    根结点.
    sitemapnode p=CurrentNode.parentnode;
    while(p.parentnode!=null)
    {
       p=p.parentnode;
    }
    最后的P就是根
      

  2.   

    好像不行呀
    SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true);
            SiteMapNode p = CurrentNode.ParentNode;
            SiteMapNode TempNode = CurrentNode;
            TempNode.Url += "?id=5";
            if (TempNode.ParentNode != null)
            {
                p.Url += "?id=8";
            }
            return TempNode;
    //这里如何返回p呢?
      

  3.   

    SiteMapNode CurrentNode = SiteMap.CurrentNode.Clone(true); 
    SiteMapNode p=CurrentNode.ParentNode; //父节点p
    p.url+= "?id=5"; SiteMapNode root=CurrentNode.ParentNode;
    while(root!=null)
    {
    root=root.ParentNode;
    }
    root.url+= "?id=8"; //根节点root在过程要这样写,如果是写返回值就要两个方法
      

  4.   

    父节点 SiteMap.CurrentNode.ParentNode
    根节点 SiteMap.CurrentNode.RootNode
    根节点的属性是只读的,无法赋值.