Example #1
0
        public static void MapCustomRoute(this RouteCollection routes, string url)
        {
            PageRouteHandler handler = new PageRouteHandler("~/default.aspx");
            Route            myRoute = new Route(url, handler);

            routes.Add(myRoute);
        }
        public ActionResult ResetPassword()
        {
            PageRouteHandler.RegisterCustomOutputCacheVariation(new ResetPasswordCacheVariation());

            var query         = this.HttpContext.Request.QueryString;
            var queryString   = query.ToString();
            var securityToken = queryString;
            var resetComplete = false;
            var error         = string.Empty;

            var index = queryString.IndexOf("&resetComplete");

            if (index > 0)
            {
                securityToken = queryString.Substring(0, index);
                resetComplete = Convert.ToBoolean(query["resetComplete"]);
                error         = query["error"];
            }

            var model = this.Model.GetResetPasswordViewModel(securityToken, resetComplete, error);

            var fullTemplateName = this.resetPasswordTemplatePrefix + this.ResetPasswordTemplate;

            return(this.View(fullTemplateName, model));
        }
        public static string GetFileVirtualPathFromFriendlyUrl(this HttpRequest request)
        {
            string ret = string.Empty;

            ret = request.GetFriendlyUrlFileVirtualPath();
            if (ret == string.Empty)
            {
                foreach (RouteBase r in RouteTable.Routes)
                {
                    if (r.GetType() == typeof(Route))
                    {
                        Route route = (Route)r;
                        if ("/" + route.Url == request.Path)
                        {
                            if (route.RouteHandler.GetType() == typeof(PageRouteHandler))
                            {
                                PageRouteHandler handler = (PageRouteHandler)route.RouteHandler;
                                ret = handler.VirtualPath;
                            }
                            break;
                        }
                    }
                }
            }
            return(ret);
        }
Example #4
0
        public void GetHandler_WhichReturnsIPageWithControls_SetsControls()
        {
            //arrange
            IEnumerable <string> controlNames = null;
            var routeData = new RouteData();

            routeData.DataTokens.Add("controls", new[] { "SomeControl" });
            var httpContext      = new Mock <HttpContextBase>();
            var requestContext   = new RequestContext(httpContext.Object, routeData);
            var pageWithControls = new Mock <IPageWithControls>();

            pageWithControls.Setup(p => p.SetControls(It.IsAny <IEnumerable <string> >())).Callback <IEnumerable <string> >(
                c => controlNames = c);
            var pageBuilder = new Mock <ISubtextPageBuilder>();

            pageBuilder.Setup(b => b.CreateInstanceFromVirtualPath(It.IsAny <string>(), It.IsAny <Type>())).Returns(
                pageWithControls.Object);
            IRouteHandler subtextRouteHandler = new PageRouteHandler("~/aspx/Dtp.aspx", pageBuilder.Object,
                                                                     new Mock <IServiceLocator>().Object);

            //act
            subtextRouteHandler.GetHttpHandler(requestContext);

            //assert.
            Assert.AreEqual("SomeControl", controlNames.First());
        }
Example #5
0
        IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext)
        {
            //This wires umbraco bits up
            var mvcHandler = base.GetHttpHandler(requestContext);

            //use the page route handler to render webforms
            var pageHandler = new PageRouteHandler("~/Views/Search/Search.aspx", false);

            return(pageHandler.GetHttpHandler(requestContext));
        }
Example #6
0
        public void Should_Resolve_Route_AreaName_Correctly()
        {
            var dictionary = new RouteValueDictionary();

            dictionary["area"] = "TestAreaName";
            var handler   = new PageRouteHandler("~/Views");
            var route     = new Route("url", null, null, dictionary, handler);
            var routeData = new RouteData(route, handler);

            var areaName = routeData.GetAreaName();

            Assert.AreEqual(areaName, "TestAreaName");
        }
        /// <summary>
        /// Adds cache dependencies for the current response.
        /// </summary>
        /// <param name="controller">The controller.</param>
        /// <param name="contentType">The type of the content.</param>
        /// <param name="providerName">The name of the provider.</param>
        public static void AddCacheVariations(this Controller controller, Type contentType, string providerName = null)
        {
            if (controller == null)
            {
                throw new ArgumentNullException("controller");
            }

            if (contentType == null)
            {
                throw new ArgumentNullException("contentType");
            }

            PageRouteHandler.RegisterContentListCacheVariation(contentType, providerName);
        }
 public void Init(HttpApplication context)
 {
     if (context.Context.Items[RoutingModule._hasBeenRegisteredKey] != null)
     {
         return;
     }
     var path = ConfigurationManager.AppSettings["CmdHereGenRoute"];
     if (String.IsNullOrEmpty(path))
     {
         throw new ConfigurationErrorsException("Set appSettings for 'CmdHereGenRoute' to point to the command prompt generator (images/App/CommandPromptHere).");
     }
     var pageRouteHandler = new PageRouteHandler("~/Views/WebForms/CmdHereGen.aspx");
     var pageRoute = new Route(path, pageRouteHandler);
     RouteTable.Routes.Add(pageRoute);
     context.Context.Items[RoutingModule._hasBeenRegisteredKey] = RoutingModule._hasBeenRegisteredKey;
 }
Example #9
0
        public void Page_Load(object sender, EventArgs e)
        {
            // Workaround for Cassini issue with request to /, IIS 6 and IIS 7 Classic mode.
            // In IIS7 Integrated mode, Default.aspx can be deleted.

            var serviceLocator  = Bootstrapper.ServiceLocator;
            var pipelineService = new PipelineService(new HttpContextWrapper(HttpContext.Current), serviceLocator);

            var           route        = new RootRoute(HostInfo.Instance.BlogAggregationEnabled, serviceLocator);
            IRouteHandler routeHandler =
                new PageRouteHandler(
                    HostInfo.Instance.BlogAggregationEnabled ? "~/aspx/AggDefault.aspx" : "~/aspx/Dtp.aspx",
                    serviceLocator.GetService <ISubtextPageBuilder>(), serviceLocator);

            pipelineService.ProcessRootRequest(route, routeHandler);
        }
Example #10
0
        /// <summary>
        /// Renders appropriate view depending on the <see cref="TemplateName"/>
        /// </summary>
        /// <returns>
        /// The <see cref="ActionResult"/>.
        /// </returns>
        public ActionResult Index()
        {
            if (SystemManager.CurrentHttpContext != null)
            {
                var cacheDependentNavigationModel = this.Model as IHasCacheDependency;
                if (cacheDependentNavigationModel != null)
                {
                    this.AddCacheDependencies(cacheDependentNavigationModel.GetCacheDependencyObjects());
                }
            }

            if (this.OutputCache.VaryByAuthenticationStatus || this.OutputCache.VaryByUserRoles)
            {
                PageRouteHandler.RegisterCustomOutputCacheVariation(new NavigationOutputCacheVariation(this.OutputCache));
            }

            var fullTemplateName = this.templateNamePrefix + this.TemplateName;

            return(this.View(fullTemplateName, this.Model));
        }
 private void RegisterCustomOutputCacheVariation()
 {
     PageRouteHandler.RegisterCustomOutputCacheVariation(new UserProfileMvcOutputCacheVariation());
 }