Я понимаю концепцию определения и выполнения маршрутизации в определенном порядке, но у меня определены следующие маршруты:
routes.MapRoute(
"Image",
"Image/{action}/{width}/{height}/{file}",
new { controller = "Image", action = "Thumbnail", width = 250, height = 250 }
);
routes.MapRoute(
"GetCampaignsByCampaignType",
"Endorsement/GetCampaignsByCampaignType/{campaignType}",
new { controller = "Endorsement", action = "GetCampaignsByCampaignType" }
);
routes.MapRoute(
"Help",
"Help",
new { controller = "Help", action = "Contact" }
);
routes.MapRoute(
"Campaigns",
"Campaigns",
new { controller = "Endorsement", action = "Campaigns" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Campaign",
"{campaignUrlName}",
new { controller = "Endorsement", action = "GetCampaign" }
);
Вопрос касается двух нижних маршрутов. У меня есть такие кампании, как / Summer, / Winter, / Some-other-name, где у меня их сотни, и я не хочу их жестко кодировать. У меня также есть другие маршруты, на которые я хочу попасть, например / Campaign / Account, / Справка / Мне / Пожалуйста (если имеется более одного сегмента / 1/2 или / 1/2/3)
Каков правильный порядок или определение, чтобы я мог / 1 перейти к последнему определенному выше маршруту, а / 1/2 или / 1/2/3 перейти по умолчанию {controller} / {action} / {id}
В настоящее время в обоих сценариях используется маршрут по умолчанию {controller} / {action} / {id}, включая / 1. Если я переверну их, то / 1 будет работать, но / 1/2 или / 1/2/3 не перейдут к маршрутизации по умолчанию.
Любая помощь приветствуется.