【发布时间】:2013-07-02 07:24:46
【问题描述】:
我有一个设置,我使用一个带有以下格式的 url 的路由:
www.example.com/friendly-url-1
www.example.com/friendly-url-2
www.example.com/another-friendly-url
路由是这样定义的:
routes.MapRoute("FriendlyUrl", "{name}",
new { controller = "FriendlyUrl", action = "Index", name = UrlParameter.Optional }
);
Name 是我的应用程序中的一个内部属性,它让我可以在自定义 ControllerFactory 中查找应该使用哪个控制器,并更改创建的控制器的名称(实际上没有名为 FriendlyUrl 的控制器)。
如果我每个控制器只有一个动作,它会很好用,但由于动作不是路由的一部分,它总是使用默认动作。我想拥有多个操作,但我无法找到一种好方法来编写控制每个请求应使用哪个操作的逻辑。有可能吗?
【问题讨论】:
-
您必须在 URL 中指定要调用的操作。它总是会调用默认操作是有道理的,因为您的路由中没有其他信息可用于调用特定操作。
标签: asp.net-mvc asp.net-mvc-routing