我有一个静态网站(没有数据库),我很难理解如何设置子类别的路线。例如,我可以执行以下操作,其中类别是控制器,而make是操作:
但是当我添加另一个级别时,我不知道如何设置路径
答案 0 :(得分:1)
我可能会选择year / make / model
routes.MapRoute(
"Default",
"{controller}/{year}/{make}/{model}"
new
{
controller = "car",
action = "search",
year = DateTime.Today.Year,
model = "all",
make = Url.OptionalParameter
}
);
(您可能希望对年份施加约束以强制它成为合理的值?)
使用像
这样的控制器public class CarController
{
public ActionResult Search( int year, string make, string model )
{
// handle model "all" and empty "make" specially
}
}
答案 1 :(得分:0)
你应该对这样的路线感到满意:
routes.MapRoute(
"CarsRoute",
"cars/{make}/{model}",
new {
controller = "Cars",
action = "Display",
make = UrlParameter.Optional,
model = UrlParameter.Optional
});
这将映射到具有签名的操作方法:
public ActionResult Display(string make, string model)
make
和model
都可以为空。然后,您可以执行操作。