我必须能够处理这样的路线:
MyController/ElementType
为此,我创建了一个这样的自定义路线:
context.MapRoute(
"NameOfTheRoute",
"MyPath/{controller}/{elementType}",
new { controller = "Elements", action = "Create" }
);
它工作正常,问题是我有一条路线
/MyPath/Elements/GetElementType?elementType=fire88
GetElementType
是一个不同的操作,但由于我之前声明的自定义路由,它会转到Create
操作,我怎样才能知道它们是不同的路由?
答案 0 :(得分:1)
之所以选择这条路线,是因为你没有定义route
来处理action
,所以MyPath/{controller}/{elementType}
意味着在controller
名称之后一切都会被视为{elementType}
你必须创建另一个将处理action
routes.MapRoute(
"MyPathRouteWithAction",
"MyPath/{controller}/{action}/{elementType}",
new {controller = "Elements", action = "Create"}
);
routes.MapRoute(
"NameOfTheRoute",
"MyPath/{controller}/{elementType}",
new {controller = "Elements", action = "Create"}
);
第一个custom route
将处理routs
/MyPath/Elements/GetElementType/fire88