【问题标题】:ASP.NET MVC 4 - How to write complex custom url?ASP.NET MVC 4 - 如何编写复杂的自定义 url?
【发布时间】:2012-12-07 04:41:33
【问题描述】:

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

“http://myDomain/CarComparison/CompareCarTab?brandIds=3~3~3&modelIds=8~8~7&modelVersionIds=4~5~19”

这里CarComparisoncontrollerCompareCarTabaction

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”

谢谢,

@保罗

【问题讨论】:

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


    【解决方案1】:

    对于初学者,您需要在 RouteConfig.cs 中创建一个新路由

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

    我不知道如何将这种类型的 url 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
    

    【讨论】:

      猜你喜欢
      • 2016-10-15
      • 2014-04-11
      • 1970-01-01
      • 2015-06-08
      • 2015-06-22
      • 1970-01-01
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多