我有以下 url 结构,只是想找出要配置的最佳路由。
编辑:添加了更多网址
/cars/{name}(显示汽车的一般信息)
/cars/{name}/models(显示特定汽车的模型列表)
/cars/{name}/models/{id}(显示特定汽车的特定型号)
/cars/{name}/models/edit(添加一个新模型,这将是一个动作)
/cars/{name}/models/{id}/owners(特定模型的所有者列表)
/cars/{name}/models/{id}/owners/create(添加新所有者)
到目前为止,我有
routes.MapRoute(
name: "CarReleases",
url: "cars/{name}/models/{id}",
defaults:
new
{
controller = "Releases",
action = "Index",
id = UrlParameter.Optional
}
);
如果我使用 /cars/{name}/models,这将有效,但显然,我没有可用于模型页面的操作。我必须为这种情况创建一个新的路线图吗?
我也有 CarController,它的映射如下:
routes.MapRoute(
name: "Cars",
url: "cars/{name}/{action}",
defaults: new { controller = "Cars", action = "Details", id = UrlParameter.Optional }
);
正如你所看到的,我有一个动作和动态请求的一般混合。有点混淆了将其放入 maproutes 的最佳方法。