?Personal Web Site--Security trimming using the menu controls

这个还没理解的,只找到相关的处理方法,但不知道为什么这么处理。
写在Global.asax里面的。
具体方法是下面的AppendQueryString委托方法。

<% @ Application Language = " C# "   %>

< script runat = " server " >

    
void  Application_Start( object  sender, EventArgs e)  {
        SiteMap.SiteMapResolve 
+= new SiteMapResolveEventHandler(AppendQueryString);
        
if (!Roles.RoleExists("Administrators")) Roles.CreateRole("Administrators");
        
if (!Roles.RoleExists("Friends")) Roles.CreateRole("Friends");
    }


    SiteMapNode AppendQueryString(
object  o, SiteMapResolveEventArgs e)  {
        
if (SiteMap.CurrentNode != null{
            SiteMapNode temp;
            temp 
= SiteMap.CurrentNode.Clone(true);
            Uri u 
= new Uri(e.Context.Request.Url.ToString());
            temp.Url 
+= u.Query;
            
if (temp.ParentNode != null{
                temp.ParentNode.Url 
+= u.Query;
            }

            
return temp;
        }
 else {
            
return null;
        }

    }

    
</ script >

你可能感兴趣的:(Security)