ASP.NET MVC 4 - 如何编写复杂的自定义URL?

时间:2012-12-19 18:45:18

标签: asp.net-mvc url-rewriting seo custom-url

我的某个页面的动态网址如下所示:

“HTTP:// myDomain的/ CarComparison / CompareCarTab brandIds = 3〜3〜3及modelIds = 8〜8〜7安培; modelVersionIds = 4〜5〜19”

此处 CarComparison 控制器 CompareCarTab 操作

4~5~19代表汽车版本名称

现在请指导我如何定制上面的网址。

“HTTP://myDomain/Car-Comparison-Hyundai-i20-Magna-VS-Hyundai-i20-Magna-Optional-1.2-VS-Hyundai-i10-D-lite”

这里“Hyundai-i20-Magna-VS-Hyundai-i20-Magna-Optional-1.2-VS-Hyundai-i10-D-lite”部分在“modelVersionIds = 4~5~19”

谢谢,

@保罗

1 个答案:

答案 0 :(得分:0)

对于初学者,您需要在RouteConfig.cs

中创建新路线
routes.MapRoute(
    name: "",
    url: "comparison/{cars}",
    defaults: new { controller = "carcomparison", action = "carcomparetab" }
);

// /comparison/car1-vs-car2-vs-car3

我不知道如何将这种类型的网址Hyundai-i20-Magna-VS-Hyundai-i20-Magna-Optional-1.2-VS-Hyundai-i10-D-lite转换为一些可用的参数,而不是将其拆分为VS并在数据库中按名称查找每个网址。


另一种可能性是有多条路线进行比较

routes.MapRoute(
    name: "",
    url: "comparison/{car1}/{car2}/{car3}",
    defaults: new { controller = "carcomparison", action = "carcomparetab" }
);

// /comparision/car1/car2/car3