2010-08-18 6 views
0

У меня есть класс ApplicationController с действием называется АдминистраторURL маршрутизации в ASP.NET MVC

поэтому мой URL является www.mysite.com/Application/Admin

есть в любом случае я могу иметь маршрутизация www.mysite.com/Admin и перейдите к этому методу.

я знаю, что я могу сделать это путем создания AdminController но для этой одной функции я думал, что это было легче просто положить в другой контроллер

ответ

3

Put это выше ваш маршрут по умолчанию:

routes.MapRoute(
    "ShortRoute", 
    "{action}", 
    new { controller = "Application", action = "Index"} 
); 
+0

+1, хороший ответ @Robert. –

1

Вы можете установить Application контроллер и метод Admin в качестве контроллера по умолчанию и действия, с помощью параметров по умолчанию:

routes.MapRoute(
    "Default", // Route name 
    "{action}", // URL with parameters 
    new { controller = "Application", action = "Admin" } 
); 

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

Обратите внимание, что маршруты с параметрами по умолчанию могут создавать странное поведение на существующих маршрутах, если они есть. Вы всегда можете использовать ASP.NET MVC Routing Debugger, чтобы проверить, какие маршруты соответствуют данному URL.

+1

Вы все еще нужен новый маршрут. –

+0

@Robert Этот * - * новый маршрут. :) – bzlm

+0

Я не думаю, что этот будет соответствовать mysite.com/action. –

Смежные вопросы