Как вы обрабатываете переменное количество маршрутов MVC?

StackOverflow https://stackoverflow.com/questions/614013

Вопрос

Я отмечаю этот интригующий момент в 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?Меня устроила бы либо передача всего бита в виде строки, либо в виде коллекции.

Спасибо!

Это было полезно?

Решение

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

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)  
{  
  ...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top