ASP.NET MVC Custom Routing - PullRequest
       2

ASP.NET MVC Custom Routing

0 голосов
/ 13 декабря 2010

Я хотел бы создать собственную маршрутизацию в своем приложении.

Я добавил новый маршрут в глобальный asax-файл:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
           "Profile",                                           // Route name
           "{controller}/{action}/{userName}",                            // URL with parameters
           new { controller = "UserProfile", action = "Index", userName = UrlParameter.Optional }  // Parameter defaults
       );

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
    }

Работает нормально, когда я использую UserProfileController:

http://localhost:7738/UserProfile/Info/chopin

Но маршрутизация по умолчанию не работает!

Я вижу это http://localhost:7738/Blog/Info?id=2 вместо этого http://localhost:7738/Blog/Info/2

Кто-нибудь может мне помочь?

Спасибо, л.

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Возможно, вы можете исправить свой маршрут до:

 routes.MapRoute(
       "Profile",                                           // Route name
       "UserProfile/{action}/{userName}",                            // URL with parameters
       new { action = "Index", userName = UrlParameter.Optional }  // Parameter defaults
   );
1 голос
/ 13 декабря 2010

Ваши маршруты практически одинаковы!

Как получить URI со строкой запроса?

0 голосов
/ 13 декабря 2010
public static void RegisterRoutes(RouteCollection routes)
{
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

  routes.MapRoute(
    "UserProfile",
    "UserProfile/{action}/{userName}",
    new { contoller = "UserProfile", action = "Index", userName = UrlParameter.Optional }
  );

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