ASP.net MVC 2 - Добавление маршрутов к внешним контроллерам - PullRequest
0 голосов
/ 26 июля 2010

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

На основании приведенной ниже справки

Я добавил следующие два маршрута в качестве теста, и независимо от того, что я делаюпо умолчанию используется маршрут по умолчанию ... однако, если я изменяю имя контроллера "Browse" на имя другого контроллера в моем классе, он работает нормально.

    routes.MapRoute(
        "Browse",
        "browse/{controller}/{action}/{id}",
        New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional},
        New String() {"MySite.Browse.Controllers"})

    routes.MapRoute(
        "Default",
        "{controller}/{action}/{id}",
        New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional},
        New String() {"MySite.Controllers"})

Есть мысли?

Кажется, что выше может быть только MVC 1, поскольку он фактически не вызывает BrowseController в моей внешней сборке.

1 Ответ

1 голос
/ 27 июля 2010

Этот конкретный сайт может помочь: http://dotnet.dzone.com/news/how-call-controllers-external-

Клип размещен здесь для обсуждения

Route externalBlogRoute = new Route(
    "blog/{controller}/{action}/{id}",
    new MvcRouteHandler()
);

externalBlogRoute.DataTokens = new RouteValueDictionary(
    new {
         namespaces = new[] { "ExternalAssembly.Controllers" }
    });

routes.Add("BlogRoute", externalBlogRoute);


routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" },
    new[] { "ExternalAssembly.Controllers" }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...