Как вы обрабатываете переменное количество маршрутов MVC? - PullRequest
3 голосов
/ 05 марта 2009

Я отмечаю этот интригующий бит в ASP.NET MVC:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Я хотел бы отобразить {* pathInfo} на маршрут.

Что-то вроде:

routes.MapRoute(
  "area/{*pathInfo}",
   "{controller}/{action}/{id}",parameters
   new { controller = "Area", action = "Index", id = ??? } 
);

но как мне передать переменную "foo / bar / rab / oof" с mydomain.com/area/foo/bar/rab/oof? Либо передача всего бита в виде строки, либо в виде коллекции будет хорошо для меня.

Спасибо!

1 Ответ

4 голосов
/ 05 марта 2009

Какую версию MVC вы используете? Имя маршрута должно быть первым параметром MapRoute (), как я помню в MCV Beta. В любом случае, учитывая вашу цель захвата пути, я бы сделал s / t как:

routes.MapRoute("AreaRoute", "Area/{*values}", new {controller = "Area", action = "Index"}       );

А в контроллере Площадь:

// "value" argument is the string after Area/, i.e. "foo/bar/rab/oof" in your example
public string Index(string values)  
{  
  ...
}
...