ASP.NET MVC 3.0 Url Rewritng - PullRequest
       1

ASP.NET MVC 3.0 Url Rewritng

0 голосов
/ 01 мая 2011

У меня есть действие под названием Контакт в домашнем контроллере

<mysite>/Home/Contact

Я хочу получить возможность набрать <mysite>/Contact, чтобы получить тот же результат, что и <mysite>/Home/Contact

Можно ли делать с маршрутами mvc 3.0 или RouteMagic?

В настоящее время я пытаюсь добиться этого, но безуспешно:

Пользовательские маршруты:

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

RouteMagic:

 var route = routes.MapRoute("new", "Contact");
            routes.Redirect(r => r.MapRoute("old", "Home/Contact"))
              .To(route);

Обновление

Хорошо, сначала нужно определить пользовательские маршруты, теперь они работают (в случае пользовательских маршрутов), но появился новый вопрос why route magic returning error:

Server Error in '/' Application.
Value cannot be null or empty.
Parameter name: controllerName

Ответы [ 2 ]

1 голос
/ 01 мая 2011

Убедитесь, что ваш новый маршрут встречается до маршрута по умолчанию (поскольку он также будет совпадать) при определении маршрута.

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

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Contact", id = UrlParameter.Optional } // Parameter defaults
);
0 голосов
/ 01 мая 2011

вы пробовали переписать модуль в iis7?

это просто в использовании, отсюда:

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...