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