오차드 모듈은 MVC 영역으로 구현됩니다, 그래서 당신은 별도의 오차드 모듈로 각 영역을 마이그레이션해야합니다 같아요.
IRouteProvider
인터페이스를 구현하여 각 모듈에 대한 사용자 지정 라우팅을 정의 할 수 있습니다. 예를 들어 다음 코드는 컨트롤러 MyController
에있는 MyAction
작업을 URL Foo/Bar
에 매핑합니다. 물론 MyModule
을 Orchard 모듈의 이름으로 대체해야합니다.
public class Routes : IRouteProvider
{
public void GetRoutes(ICollection<RouteDescriptor> routes)
{
foreach (var routeDescriptor in this.GetRoutes())
{
routes.Add(routeDescriptor);
}
}
public IEnumerable<RouteDescriptor> GetRoutes()
{
return new[]
{
new RouteDescriptor
{
Priority = 20,
Route =
new Route(
"Foo/Bar",
new RouteValueDictionary
{
{ "area", "MyModule" },
{ "controller", "MyController" },
{ "action", "MyAction" }
},
new RouteValueDictionary(),
new RouteValueDictionary { { "area", "MyModule" } },
new MvcRouteHandler())
},
// Other routes...
};
}
}