我已经搜索了很长时间以解决我的问题,但我没有找到一个......
我想,我不是唯一一个有这个任务并希望得到答案的人。
我的网站存储产品..许多产品。所有这些产品都有一个或多个类别(或子类别)。要检索正确类别的产品不是问题。我将在产品名称的末尾添加此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
如果我在产品控制器中调用列表操作,我无法检测子类别"浪漫"与游戏或书籍有关。
我该如何解决这个问题?
祝你好运
答案 0 :(得分:0)
您可以尝试为ActionResult List
编写2条路线并使用参数:如果ActionLink
包含名为games
的参数,则需要路线"Games"
,如果books
- 需要路线"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}
);
我不确定它是否符合您的需求,但您可以使用这种逻辑。