MVC路由,为现有页面

时间:2015-06-09 13:37:51

标签: asp.net-mvc asp.net-mvc-routing actionlink

我有一条路线:

 context.MapRoute(
            "ISPCCodeSearch_default",
            "OnlineOrder/{controller}/ISPCCodeSearch/{ISPC}",
            new
                {
                    area = "OnlineOrder",
                    controller = "Home",
                    action = "ISPCCodeSearch",
                    ISPC = UrlParameter.Optional,

                });

通过产品代码提供许多产品,例如

  

网上订单/主页/ ISPCCodeSearch / 11011 /

我想通过点击上一页的过滤器链接进一步按品牌过滤。

  

网上订单/主页/ ISPCCodeSearch / 11011 /施乐

如何生成链接和路线?

<a class=" list-group-item" href='@(Url.Action("BrandFilter", new {brand = item.BrandName}))'>
                    @item.FriendlyBrandName <span class='badge'>@item.BrandItemsCount</span>
                </a>

我有上面的代码,它只是给了我:

  

/ BrandFilter /施乐

我不知道如何实现这一点。

1 个答案:

答案 0 :(得分:0)

您需要更新路线:

context.MapRoute(
            "ISPCCodeSearch_default",
            "OnlineOrder/{controller}/ISPCCodeSearch/{ISPC}/{param2}",
            new
                {
                    area = "OnlineOrder",
                    controller = "Home",
                    action = "ISPCCodeSearch",
                    ISPC = UrlParameter.Optional,
                    param2= UrlParameter.Optional,
                });

对于链接,只需添加另一个属性:

@(Url.Action("BrandFilter", new {brand = item.BrandName, prop2 = item.property2}))