Маршрутизация сводит меня с ума твои дни :(
У меня есть две области: CityPage и Job
На странице города у меня есть список ссылок, которые ведут в область Работа.
Это код для действий и маршрутизации для CityPage:
public ActionResult Index(string city, string countryCode)
{
return View();
}
In CityPageAreaRegistration.cs class:
context.MapRoute(
null,
"CityPage/{countryCode}/{city}",
new { area = "CityPage", controller = "Home", action = "Index", city = "" }
);
URL, который я здесь получаю, в порядке
http://localhost/CityPage/UK/London
Из индекса CityPage я могу перейти к списку вакансий (Job/Home/Index
)
@Html.ActionLink("Jobs", "Index", "Home", new { area = "Job" }, null)
Это код из области вакансий:
public ActionResult Index()
{
return View();
}
context.MapRoute(
null,
"{area}/{countryCode}/{city}/Job/{controller}/{action}",
new { area = "Job", controller = "Home", action = "Index",
countryCode = "UK",
city = "London"
}
);
URL, который я здесь получаю, все еще в порядке
http://localhost/CityPage/UK/London/Job
Но на этой странице у меня есть ссылка на информацию о работе (Job/Home/Show
)
@Html.ActionLink("Job Example", "Show", "Home", new { area = "Job", jobId = 8765 }, null)
И URL, который я получаю, это
http://localhost/CityPage/UK/London/Job/Home/Show?jobId=8765
I have tried to add routing like this
context.MapRoute(
"Jobs",
"{area}/Job/{jobId}",
new
{
area = "Job",
controller = "Home",
action = "Index",
countryCode = "RS",
city = "Kragujevac",
jobId = ""
}
);
Но это не работает. Я не знаю, что я делаю не так :(
URL, который я пытаюсь получить, похож на
http://localhost/CityPage/UK/London/Job/8765
Я все еще учусь о маршрутизации. Но области заставляют меня ...
Я не добавляю никакой маршрутизации в Global.asax. Я думаю, что мне нужно написать код маршрутизации в областях классов routing.cs, я прав?