2

У меня есть случай, когда маршрутизация MVC (отображение URL-адреса контроллера) просто мешает. Я хочу обойти его и отправить все URL-адреса одному контроллеру (независимо от формата и без какой-либо попытки разобрать их).MVC2 без маршрутизации

Я предполагал, что это будет легко, но я застрял. Помощь очень ценится.

+0

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

+0

Как вы могли бы определить, какие методы действий вы вызываете, если вы не ставите формат или даже без маршрутизации? вы должны по крайней мере поставить 1 маршрутизацию или заменить стандартную маршрутизацию в своей таблице маршрутизации, чтобы получить то, что вы хотите. –

+0

Я планирую проанализировать HttpRequest в контроллере, а затем делегировать субконтроллеры. Мне нужно сделать это, потому что полный маршрут не может быть определен только с помощью URL-адреса; Мне нужно посмотреть информацию в заголовке. Как я могу сделать маршрут, который отправит любой URL-адрес, независимо от содержимого, одному контроллеру и действию? – Kenn

ответ

4

Написать улов-весь маршрут (global.asax) и определить действия по умолчанию/контроллер для этого маршрута ..

routes.MapRoute(
      "All", 
      "{*all}", 
      new { controller = "Home", action = "Index" } 
     ); 
1

Добавления этого Application_Start в Global.asax.cs должен работать:

RouteTable.Routes.MapRoute(null, "{*path}", new { controller = "MyController", action = "MyAction" }); 

Параметр MyAction следует называть path.

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