Привет, я зарегистрировал маршрут, как показано ниже: -
routes.MapLocalizedRoute("Category",
"{SeName}-c{categoryId}",
new { controller = "Catalog", action = "Category", SeName = UrlParameter.Optional },
new { categoryId = @"\d+", SeName = @"([-\w+]+(/[-\w+]+)*)+" },
new[] { "Nop.Web.Controllers" });
routes.MapLocalizedRoute("CategoryWithManufacture",
"{SeName}-d{categoryId}/{ManufactureName}/{Color}",
new { controller = "Catalog", action = "Category", SeName = UrlParameter.Optional, Color = UrlParameter.Optional },
new { categoryId = @"\d+", SeName = @"([-\w+]+(/[-\w+]+)*)+", ManufactureName = @"([-\w+]+(/[-\w+]+)*)+", Color = @"([-\w+]+(/[-\w+]+)*)+" },
new[] { "Nop.Web.Controllers" });
Мы генерируем их, как показано ниже: -
href="@Url.RouteUrl("CategoryWithManufacture", new { categoryId = currentCategoryId, SeName = seName, ManufactureName = manufacturerFilterItem.Name, Color = color })"
href="@Url.RouteUrl("Category", new { categoryId = currentCategoryId, SeName = seName})"
Есть способ присвоить значение непосредственно второму параметру "Цвет"msgstr "без присваивания значения" ManufactureName ".означает: - (Использование CategoryWithManufacture Route)
/gloves-d18/red (second parameter)
/gloves-d18/hp/red (first and second both)
Я попробовал это сделать, сделав необязательный параметр factoryName & color, но когда мы присваиваем значение первому параметру, а не второму, оно работает.Но мы присваиваем значение второму параметру не первому, тогда он не работает.
Пожалуйста, предложите мне полезную ссылку или пример кода.