mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 12:53:33 +08:00
- Fixing OrchardControllerFactory.GetAreaName to align it with what MVC 2 does internally.
--HG-- branch : dev
This commit is contained in:
@@ -1,4 +1,3 @@
|
|||||||
using System;
|
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using System.Web.Routing;
|
using System.Web.Routing;
|
||||||
using Autofac;
|
using Autofac;
|
||||||
@@ -27,14 +26,29 @@ namespace Orchard.Mvc {
|
|||||||
return base.CreateController(requestContext, controllerName);
|
return base.CreateController(requestContext, controllerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetAreaName(RouteData context) {
|
public static string GetAreaName(RouteBase route) {
|
||||||
object area;
|
var routeWithArea = route as IRouteWithArea;
|
||||||
if (context.Values.TryGetValue("area", out area)) {
|
if (routeWithArea != null) {
|
||||||
return Convert.ToString(area);
|
return routeWithArea.Area;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var castRoute = route as Route;
|
||||||
|
if (castRoute != null && castRoute.DataTokens != null) {
|
||||||
|
return castRoute.DataTokens["area"] as string;
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string GetAreaName(RouteData routeData) {
|
||||||
|
object area;
|
||||||
|
if (routeData.DataTokens.TryGetValue("area", out area)) {
|
||||||
|
return area as string;
|
||||||
|
}
|
||||||
|
|
||||||
|
return GetAreaName(routeData.Route);
|
||||||
|
}
|
||||||
|
|
||||||
public static IContainer GetRequestContainer(RouteData routeData) {
|
public static IContainer GetRequestContainer(RouteData routeData) {
|
||||||
object dataTokenValue;
|
object dataTokenValue;
|
||||||
if (routeData != null &&
|
if (routeData != null &&
|
||||||
|
Reference in New Issue
Block a user