Exemplo n.º 1
0
        protected SiteMapNode ResolveSiteMapNode(HttpContext context)
        {
            SiteMapResolveEventHandler eventHandler = SiteMapResolve;

            if (eventHandler == null)
            {
                return(null);
            }

            if (!context.Items.Contains(_resolutionTicket))
            {
                context.Items.Add(_resolutionTicket, true);

                try {
                    Delegate[] ds  = eventHandler.GetInvocationList();
                    int        len = ds.Length;
                    for (int i = 0; i < len; i++)
                    {
                        SiteMapNode ret = ((SiteMapResolveEventHandler)ds[i])(this, new SiteMapResolveEventArgs(context, this));
                        if (ret != null)
                        {
                            return(ret);
                        }
                    }
                } finally {
                    context.Items.Remove(_resolutionTicket);
                }
            }


            return(null);
        }
        protected SiteMapNode ResolveSiteMapNode(HttpContext context)
        {
            SiteMapResolveEventHandler siteMapResolve = this.SiteMapResolve;

            if ((siteMapResolve != null) && !context.Items.Contains(this._resolutionTicket))
            {
                context.Items.Add(this._resolutionTicket, true);
                try
                {
                    Delegate[] invocationList = siteMapResolve.GetInvocationList();
                    int        length         = invocationList.Length;
                    for (int i = 0; i < length; i++)
                    {
                        SiteMapNode node = ((SiteMapResolveEventHandler)invocationList[i])(this, new SiteMapResolveEventArgs(context, this));
                        if (node != null)
                        {
                            return(node);
                        }
                    }
                }
                finally
                {
                    context.Items.Remove(this._resolutionTicket);
                }
            }
            return(null);
        }