/// <inheritdoc/>
        protected override void InitializeRouteParameters(MvcProxyBase proxyControl)
        {
            RouteHelper.SetUrlParametersResolved(false);

            var originalContext = proxyControl.Context.Request.RequestContext ?? proxyControl.Page.GetRequestContext();

            var paramsMapper = this.GetDefaultParamsMapper(proxyControl.Controller);

            if (paramsMapper != null)
            {
                var requestContext = proxyControl.RequestContext;
                var originalParams = MvcRequestContextBuilder.GetRouteParams(originalContext);
                var controllerName = SitefinityViewEngine.GetControllerName(proxyControl.Controller);
                requestContext.RouteData.Values[DynamicUrlParamActionInvoker.ControllerNameKey] = controllerName;

                paramsMapper.ResolveUrlParams(originalParams, requestContext);
                proxyControl.Controller.TempData.Add("IsInPureMode", proxyControl.IsInPureMode);

                if (!proxyControl.ContentTypeName.IsNullOrEmpty())
                {
                    proxyControl.Controller.RouteData.Values.Add("contentTypeName", proxyControl.ContentTypeName);
                }
            }
            else
            {
                base.InitializeRouteParameters(proxyControl);
            }
        }
Esempio n. 2
0
        private void SetControllerRouteParam(MvcProxyBase proxyControl)
        {
            var requestContext = proxyControl.RequestContext;

            string controllerName;
            var    widgetProxy = proxyControl as MvcWidgetProxy;

            if (widgetProxy != null && !string.IsNullOrEmpty(widgetProxy.WidgetName))
            {
                controllerName = widgetProxy.WidgetName;
            }
            else
            {
                controllerName = SitefinityViewEngine.GetControllerName(proxyControl.GetController());
            }

            requestContext.RouteData.Values[FeatherActionInvoker.ControllerNameKey] = controllerName;
        }