我有以下路由配置:
routes.MapRoute(
name: "Default",
url: "{project}/{version}/{controller}/{action}",
defaults: new { controller = "Portal", action = "Index" }
);
这个想法是在URL之前有两个自定义参数,因此我创建的动作过滤器可以做一些有用的事情。到目前为止,效果很好,但这就是问题所在。
这是一个名为version
的动作方法
public ActionResult SomeMethod(string version)
{
//Some logic has been performed using the custom route variable values before getting in here....
}
如果我打以下电话:http:/server/RouteValue1/RouteValue2/MyController/SomeMethod?version=1
version
的{{1}}参数的值为SomeMethod
。
有什么办法告诉框架不要这样做吗?是否将路线变量与动作变量分开?
答案 0 :(得分:0)
否,您不能在路由配置和查询字符串中使用相同的参数名称。您需要重命名一个,即:
http:/server/RouteValue1/RouteValue2/MyController/SomeMethod?ver=1