Как вы обрабатываете переменное количество маршрутов MVC?
-
03-07-2019 - |
Вопрос
Я отмечаю этот интригующий момент в 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)
{
...
}
Не связан с StackOverflow