orchard cms routing question

Я создал несколько настраиваемых типов контента, которые включают часть маршрута, чтобы мои менеджеры контента могли редактировать ярлыки для элементов. Мне не удалось настроить маршрут, который позволит моему собственному контроллеру обслуживать запросы для этих элементов.

Маршрут для путей к ItemController в основном модуле Routable имеет приоритет 10. Я попытался создать маршрут, который использует IRouteConstraint, аналогично тому, как модуль Blog выполняет то, что я хочу сделать, с более низким приоритетом, но все равно безуспешно.

Если я заканчиваю свои URL на /, то активируется мой собственный маршрут, так как тогда он не совпадает с путем к моим элементам контента. Это нежелательное решение. Я не могу понять, почему он не обнаруживает мой собственный маршрут перед маршрутом, принадлежащим модулю Routable.

Любая помощь будет принята с благодарностью, заранее большое спасибо.

ОБНОВЛЕНИЕ:
Вот мой метод GetRoutes из моей реализации IRouteProvider:

    public IEnumerable<RouteDescriptor> GetRoutes()
    {
        return new[] {
            new RouteDescriptor
            {
                Priority = 0,
                Route = new Route(
                    "Admin/Jugganort/{controller}/{action}/{id}",
                    new RouteValueDictionary {
                                                {"area", "Jugganort"},
                                                {"controller", "Area"},
                                                {"action", "List"}
                                            },
                    new RouteValueDictionary(),
                    new RouteValueDictionary {
                                                {"area", "Jugganort"}
                                            },
                    new MvcRouteHandler())
            },
            new RouteDescriptor
            {
                Priority = 9,
                Route = new Route(
                    "{location}/{merchant}/{promotion}",
                    new RouteValueDictionary {
                                                {"area", "Jugganort"},
                                                {"controller", "Home"},
                                                {"action", "Index"},
                                                {"merchant", UrlParameter.Optional},
                                                {"promotion", UrlParameter.Optional}
                                            },
                    new RouteValueDictionary { 
                        { "location", _routeConstraint }
                    },
                    new RouteValueDictionary {
                                                {"area", "Jugganort"}
                                            },
                    new MvcRouteHandler())
            }
        }; 
    }  

_routeConstraint - это простая реализация IRouteConstraint, которая просто ищет жестко запрограммированное значение «newcastle» для местоположения на маршруте.

Я неправильно понимаю RoutePart? Всегда ли нужно будет обслуживать эти элементы из ItemController модуля Routable? Могу ли я использовать альтернативных пользователей для рендеринга нестандартных форм?

Я буду обращать внимание на фруктовые форумы. Еще раз спасибо за любую помощь, которую вы можете оказать.

11
задан Piotr Szmyd 28 June 2011 в 00:03
поделиться