【问题标题】:ASP.NET MVC 5 URL Depend on SelectionASP.NET MVC 5 URL 取决于选择
【发布时间】:2016-07-07 02:41:22
【问题描述】:

我有一个基于 ASP.NET 在 VS13 MVC 5 上创建的页面,在我的导航器上我有我的下拉菜单

当我点击电话链接时,我的 URL 为:www.sitename.com/phones,它会列出我在我的数据库中拥有的所有电话,而我选择一个品牌(例如:三星)我希望我的 URL 将是 www.sitename.com/phones/samsung

简单的问题我不想为每个品牌或型号的手机创建一个视图,因为有很多,我可以使用 SQL 并在同一页面上列出它们,但是如何根据我的选择更改我的 URL?唯一的方法是属性路由吗?

感谢任何建议。

【问题讨论】:

    标签: asp.net asp.net-mvc seo url-routing


    【解决方案1】:

    您可以将路线添加到您的路线配置中

    RouteConfig.cs

     routes.MapRoute(
                name: "Product",
                url: "{controller}/{productCategory}/{productName}",
                defaults: new { controller = "Product", action = "Index", productCategory = UrlParameter.Optional, productName = UrlParameter.Optional }
            );
    

    product controller

    public ActionResult index(string productCategory,string productName)
    {
         //return items by productCategory/ProductName
    }
    

    【讨论】:

    • 我想这是对我有意义的最佳选择 thx :)
    【解决方案2】:

    如果您使用的是 JS/jQuery,您可以使用 History.js api。 https://github.com/browserstate/history.js/

    然后您可以使用History.pushState(insert parameters here);。这不仅会根据您的选择更改 url,而且还允许用户像往常一样来回前进,我认为它还可以让 SEO 与网络爬虫保持一致。

    【讨论】:

    • 我不认为我会使用 JS/jQuery,谢谢你的建议 :)
    猜你喜欢
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    相关资源
    最近更新 更多