у меня есть 3 маршрута в RouteConfig:Asp.net MVC 5 MapRoute для нескольких маршрутов
routes.MapRoute(
name: "ByGroupName",
url: "catalog/{categoryname}/{groupname}",
defaults: new { controller = "Catalog", action = "Catalog" }
);
routes.MapRoute(
name: "ByCatName",
url: "catalog/{categoryname}",
defaults: new { controller = "Catalog", action = "Catalog" }
);
routes.MapRoute(
name: "ByBrandId",
url: "catalog/brand/{brandId}",
defaults: new { controller = "Catalog", action = "Catalog" }
);
и это мой контроллер действия, получающие параметры:
public ActionResult Catalog(
string categoryName = null,
string groupName = null,
int pageNumber = 1,
int orderBy = 5,
int pageSize = 20,
int brandId = 0,
bool bundle = false,
bool outlet = false,
string query_r = null)
{
// ...
}
, когда я использую в виду связь с @Url.RouteUrl("ByBrandId", new {brandId = 5})
, я получаю в действии параметр "CategoryName" = "бренд" и brandId = 0 вместо только brandId = 5 ...
Когда я звоню "http://localhost:3453/catalog/brand/5"
с "ByBrandId" routeurl Я хочу чтобы получить brandId = 5 в ActionController ..., эквивалент "http://localhost:3453/catalog/Catalog?brandId=1"
благодаря