Beispiel #1
0
        public PageRouteHandler(string virtualPath, bool checkPhysicalUrlAccess)
        {
            if (string.IsNullOrEmpty(virtualPath) || !virtualPath.StartsWith("~/", StringComparison.OrdinalIgnoreCase))
            {
                throw new ArgumentException(SR.GetString(SR.PageRouteHandler_InvalidVirtualPath), "virtualPath");
            }

            this.VirtualPath            = virtualPath;
            this.CheckPhysicalUrlAccess = checkPhysicalUrlAccess;
            _useRouteVirtualPath        = VirtualPath.Contains("{");
        }
Beispiel #2
0
        /// <summary>
        /// Gets the virtual path to the resource after applying substitutions based on route data.
        /// </summary>
        public string GetSubstitutedVirtualPath(RequestContext requestContext)
        {
            string substVirtualPath = VirtualPath.Substring(2); //Trim off ~/

            if (!VirtualPath.Contains("{"))
            {
                return(substVirtualPath);
            }

            Route           route = new Route(substVirtualPath, this);
            VirtualPathData vpd   = route.GetVirtualPath(requestContext, requestContext.RouteData.Values);

            if (vpd == null)
            {
                return(substVirtualPath);
            }
            return(vpd.VirtualPath);
        }