我需要在mvc项目中创建一个具有动态计数参数的路径。该路由应该引用相同的控制器操作。例如
/目录/汽车/
/目录/汽车/宝马
/目录/汽车/ BMW / X1
应该由同一个动作处理。
路线怎么样?或者我需要创建三条路线?
答案 0 :(得分:2)
您不需要编写树路径只需使参数可选:
routes.MapRoute(
name: "YourRoute",
url: "{controller}/{action}/{catalog}/{subcatalog}/{model}",
defaults: new {
controller = "Home",
action = "Index",
catalog = UrlParameter.Optional,
subcatalog = UrlParameter.Optional,
model = UrlParameter.Optional }
);
答案 1 :(得分:0)
这应该适用于您使用新MVC项目获得的默认路由,或者您可以使用特定的路由:
routes.MapRoute(
name: "Cars",
url: "{controller}/{action}/{manufacturer}/{model}",
defaults: new {
controller = "Catalog",
action = "Cars",
manufacturer = UrlParameter.Optional,
model = UrlParameter.Optional }
);
您只需要一个带有可选参数的操作方法:
public class Catalog : Controller
{
public ActionResult Cars(string manufacturer = "", string model = "")
{
//snip
}
}