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("{"); }
/// <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); }