MVC网址路由到目标特定网址

时间:2016-06-20 08:33:17

标签: asp.net-mvc routing

我正在网站上工作,我想创建一些SEO友好的网址。 到目前为止,我已成功完成以下任务:

wwww.mywebsite.com/laptops/brand

wwww.mywebsite.com/laptops/brand/model。

这一切都是通过在RouteConfig中添加必要的路线来实现的。

现在我面临一个已发布的,我正在寻求帮助。 如果您导航到wwww.mywebsite.com/laptops/brand/model然后提交我的搜索表单以进行其他搜索,则网址结构将如下所示:

wwww.mywebsite.com/laptops/brand/model?Brand=NewSelectedBrand?Model=NewSelectedModel ...

我应该怎么做才能让新搜索的网址结构遵循相同的模式 - > mywebsite.com/laptops/NewSelelectedBrand/NewSelectedModel?

根据要求: 这是形式:

@using (Html.BeginForm("Laptops", "Search", FormMethod.Get, new { @class = "", id = "searchForm" }))
{
     @Html.HiddenFor(x => x.SelectedBrand)
     @Html.HiddenFor(x => x.SelectedModel)                    
}

在我的路线配置中,我按此顺序排列如下:

routes.MapRoute(
"LaptopListings-BrandModel",
"search/laptop-listings/{SelectedBrand}/{SelectedModel}",
new
{
    controller = "Search",
    action = "LaptopListings",
    SelectedBrand = UrlParameter.Optional,
    SelectedModel = UrlParameter.Optional
});

routes.MapRoute(
"LaptopListings-Brand",
"search/laptop-listings/{SelectedBrand}",
 new
 {
     controller = "Search",
     action = "LaptopListings",
    SelectedBrand = UrlParameter.Optional
 });
routes.MapRoute(
"LaptopListings",
"search/laptop-listings",
new
{
     controller = "Search",
     action = "LaptopListings"
 });

0 个答案:

没有答案