2012-05-03 2 views
1

В приложении MVC3 У меня есть мнение в моей домашней контроллер, доступ к которому с помощью следующего URL:MVC3 :: Использование global.asax направить конкретный контроллер/действие на другой контроллер/действие

http://mysite.com/home/mycontent

Однако мой пользователь хочет accees его с помощью:

http://mysite.com/mycontent (без конкретной ссылки на домашний контроллер)

Я попытался модифицировать свою global.asax следующим:

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

Но я получаю 404 ошибки, когда я пытаюсь их использовать. Есть ли способ, которым я могу выполнить то, что мой пользователь хочет сделать - перенаправление URL-адреса на определенную пару контроллера/просмотра?

ответ

2

Я думаю, вы должны сохранить некоторые «параметры»:

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

Извините ... но по-прежнему та же проблема. –

+0

Определяете ли вы некоторые другие маршруты (может быть по умолчанию)? – fmgp

+0

Только по умолчанию. –

1

В каком порядке регистрируются ваши маршруты? Этот маршрут должен пройти до вашего маршрута по умолчанию.

E.g.

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

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

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

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