MVC 路由,向现有页面添加过滤器

MVC Routes, adding a filter to existing page

我有一条路线:

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

                });

通过产品代码显示多个产品,例如,

OnlineOrder/Home/ISPCCodeSearch/11011/

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

OnlineOrder/Home/ISPCCodeSearch/11011/Xerox

如何生成 link 和路线?

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

我有上面的代码:

/BrandFilter/Xerox

我不知道如何实现这个。

您需要更新路线:

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

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

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