ASP.NET MVC 5 URL取决于选择

时间:2016-03-20 16:54:20

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

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

enter image description here

当我点击手机链接时,我将网址设为:www.sitename.com/phones,它会列出我在我的数据库中的所有手机,而我选择一个品牌(例如:三星)我想要我的网址将请访问www.sitename.com/phones/samsung

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

感谢任何建议。

2 个答案:

答案 0 :(得分:0)

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

然后您可以使用History.pushState(insert parameters here);。这不仅会改变你选择的网址,而且还允许用户像往常一样前后移动,它也会让网页抓取工具保持搜索引擎优化。

答案 1 :(得分:0)

您可以为路线配置添加路线

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
}