Beispiel #1
0
        public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
        {
            string routeName = values.GetRouteName();

            var virtualPath = ChildRoutes.GetVirtualPath(requestContext, routeName, values.WithoutRouteName());

            if (virtualPath != null)
            {
                string rewrittenVirtualPath = virtualPath.VirtualPath.WithoutApplicationPath(requestContext);
                string directoryPath        = VirtualPath.WithoutTildePrefix(); // remove tilde
                rewrittenVirtualPath = rewrittenVirtualPath.Insert(0, directoryPath.WithoutTrailingSlash());

                virtualPath.VirtualPath = rewrittenVirtualPath.Remove(0, 1);
            }

            return(virtualPath);
        }