我有许多符合{controller} / {action}模式的网址。
我的问题是我想为第二个参数(动作)使用多个以短划线分隔的单词。由于动作方法名称中不允许使用破折号,因此我无法仅使用一个映射映射此模式,并且我必须为每个新操作采用新映射,如下所示:
routes.MapRoute(
"ContactUsForm", "forms/contact-us", new {
action = "contact_us",
controller = "Forms"
});
我有许多需要此模式的表单,并且他们的关注点不同,我无法将它们映射到同一个操作方法。
问题 有没有一个简单的方法,比如将{controller} / {some-string}映射到动作“some_string”,并一次性路由我的所有表单URL?
答案 0 :(得分:6)
您可以在属性中指定操作名称,并在不更改路径的情况下使用它:
[ActionName("some-string")]
public ActionResult MyActionHere(string id)
{
}