0
点赞
收藏
分享

微信扫一扫

asp.net: update/change SiteMapNode’s URL

Programmatically Modify Site-Map Nodes in Memory  (asp.net:  update/change SiteMapNode’s URL)

private SiteMapNode ExpandForumPaths(Object sender, SiteMapResolveEventArgs e)       
    {        
// The current node represents a Post page in a bulletin board forum.        
// Clone the current node and all of its relevant parents. This        
// returns a site map node that a developer can then        
// walk, modifying each node.Url property in turn.        
// Since the cloned nodes are separate from the underlying        
// site navigation structure, the fixups that are made do not        
// effect the overall site navigation structure.        
        SiteMapNode currentNode = SiteMap.CurrentNode.Clone(true);        
        SiteMapNode tempNode = currentNode;        
// Obtain the recent IDs.        
int forumGroupID = GetMostRecentForumGroupID();        
int forumID = GetMostRecentForumID(forumGroupID);        
int postID = GetMostRecentPostID(forumID);        
// The current node, and its parents, can be modified to include        
// dynamic querystring information relevant to the currently        
// executing request.        
if (0 != postID)        
        {        
            tempNode.Url = tempNode.Url + "?PostID=" + postID.ToString();        
        }        
if ((null != (tempNode = tempNode.ParentNode)) &&        
            (0 != forumID))        
        {        
            tempNode.Url = tempNode.Url + "?ForumID=" + forumID.ToString();        
        }        
if ((null != (tempNode = tempNode.ParentNode)) &&        
            (0 != forumGroupID))        
        {        
            tempNode.Url = tempNode.Url + "?ForumGroupID=" + forumGroupID.ToString();        
        }        
return currentNode;        
    }   
       
...    // These methods are just placeholders for the example.        
// One option is to use the HttpContext or e.Content object        
// to obtain the ID.        
private int GetMostRecentForumGroupID()        
    {        
     return 24;        
    }       
private int GetMostRecentForumID(int forumGroupId)        
    {        
     return 128;        
    }       
private int GetMostRecentPostID(int forumId)        
    {        
     return 317424;        
    }

http://msdn.microsoft.com/en-us/library/ms178425.aspx

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/navigation/sitenavapi.aspx

http://www.eggheadcafe.com/community/aspnet/7/10014616/programmatically-modify-s.aspx

http://www.eggheadcafe.com/community/aspnet/7/10014602/how-do-you-update-a-sitem.aspx

http://dotnetslackers.com/VB_NET/re-113165_Adding_QueryString_Parameters_to_the_SiteMapNode.aspx



举报

相关推荐

0 条评论