Exemplo n.º 1
0
        /// <summary>
        /// Returns true if the NavItem represents the current page
        /// </summary>
        /// <param name="PageIdentifier">can pass a string (LinkPagePath/LinkHref match), an Int (LinkPageID match), or a Guid (LinkPageGuid)</param>
        public bool IsCurrentPage(object PageIdentifier)
        {
            if (PageIdentifier == null)
            {
                return(false);
            }

            switch (PageIdentifier.GetType().FullName)
            {
            case "System.String":
            default:
                if (LinkPagePath.Equals(Convert.ToString(PageIdentifier), StringComparison.InvariantCultureIgnoreCase) || (!string.IsNullOrWhiteSpace(LinkHref) && LinkHref.Equals(Convert.ToString(PageIdentifier), StringComparison.InvariantCultureIgnoreCase)))
                {
                    return(true);
                }
                break;

            case "System.Int32":
            case "System.Int16":
            case "System.Int":
                if (LinkPageID == Convert.ToInt32(PageIdentifier))
                {
                    return(true);
                }
                break;

            case "System.Guid":
                if (LinkPageGuid == (Guid)PageIdentifier)
                {
                    return(true);
                }
                break;
            }
            return(false);
        }