【发布时间】:2016-02-17 22:51:20
【问题描述】:
所以我有一个可以容纳大约 10 个动作的控制器。每个动作/视图只是简单地保存一个图像。我想要做的是将参数发送到每个操作的 URL(该参数对每个操作执行相同的操作)。
routes.MapRoute(
name: "MyRoute",
url: "MyController/{action}/{myparameter}",
defaults: new { controller = "MyController", action = "CanIMakeThisBeAnything", myparameter = UrlParameter.Optional }
);
无论如何我可以在控制器中的任何操作中执行操作,这样我就不必指定 10 条不同的路线?
【问题讨论】:
-
你的行为是什么样的?
-
我完全不清楚为什么你认为你需要 10 条不同的路线。您在上面的代码中指定的唯一操作是默认操作。
-
您是否遇到某种错误?从您的问题来看,我同意@James R ...看起来您不需要对路线做任何事情。
-
是的,听起来您只是对路线的工作方式感到困惑。
action参数只是在未指定任何内容的情况下的默认值(即/MyController/。如果您将用户发送到 URL/MyController/Foo/,它将触发Foo操作,尽管您为action设置了什么。 -
"action 参数只是一个默认值" Ahhhhhh这就是我错了。我认为该操作必须是控制器的特定操作。这更有意义。基本上,这个想法是对于每个动作,我都会返回一个带有不同图像的视图。所以这看起来像“MyController/action”。对于每个操作,我都需要 URL 中的另一个参数(是正确的短语吗?),我可以在我的代码中抓取和使用......即“MyController/action/parameter”@ChrisPratt
标签: c# asp.net-mvc asp.net-mvc-4 routing routes