我在基于ASP.NET的VS13 MVC 5上创建了一个页面,在我的导航器上我有我的下拉菜单
当我点击手机链接时,我将网址设为:www.sitename.com/phones,它会列出我在我的数据库中的所有手机,而我选择一个品牌(例如:三星)我想要我的网址将请访问www.sitename.com/phones/samsung
简单的问题我不想为每个品牌或型号的手机创建一个视图,因为有很多,我可以使用SQL并将它们列在同一页面上但是如何根据我的选择更改我的URL?唯一的方法是属性路由吗?
感谢任何建议。
答案 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
}