0

我已经搜索了很长时间来解决我的问题,但我没有找到一个..

我想,我不是唯一一个有这个任务并希望得到答案的人。

我的网站存储产品.. 很多产品。所有这些产品都有一个或多个类别(或子类别)。在正确的类别中检索产品不是问题。我将在产品名称的末尾添加此 ID,例如:http ://localhost.com/products/details/books/romance/romeo-and-julia-3245 。控制器是产品,动作是细节。

但是,如果我想列出一个类别的所有产品,那么获得干净 URL 的最佳解决方案是什么?问题是,一个子类别可能不止一次存在。例如:

http://localhost.com/products/list/games/romance

http://localhost.com/products/list/books/romance

如果我在产品控制器中调用列表操作,我无法检测到子类别“浪漫”是否与游戏或书籍相关。

我该如何解决这个问题?

此致

4

1 回答 1

0

您可以尝试编写 2 个路由ActionResult List并使用参数: if ActionLinkcontains parameter called gamesit takes route "Games", if books- it takes route"Books"

routes.MapRoute(
                name: "Games",
                url: "{controller}/{action}/games/romance",
                defaults: new { controller = "products", action = "List", games = UrlParameter.Optional}
            );

routes.MapRoute(
                name: "Books",
                url: "{controller}/{action}/books/romance",
                defaults: new { controller = "products", action = "List", books = UrlParameter.Optional}
            );

我不确定它是否符合您的需求,但您可以使用这种逻辑。

于 2013-08-13T10:32:55.643 回答