ASP.NET MVC:所有控制器值都传递为空
ASP.NET MVC: all controller values are passed null
我已将新操作添加到我的 asp.net mvc 应用程序并在 RouteConfig.cs
.
中为其添加特定规则
但所有参数都作为 null
传递。
这是我的路线规则:
routes.MapRoute(
"toekn_submit_route",
"{controller}/SendToken/{platform}/{token}/{uid}",
new { controller = "Home", action = "SendToken" }
, new[] { "MvcApplication.Controllers" }
);
这里是动作减速:
public JsonResult SendToken(string platform, string token, string uid) { ... }
我使用这个 URL 调用操作:http://localhost:51650/Home/SendToken/platform/token/uid
添加路由的顺序很重要。第一个匹配的路线获胜。
确保将这条添加的路由添加到更通用的路由之前,否则它们将被另一条未按预期填充占位符的路由匹配。
routes.MapRoute(
name: "token_submit_route",
url: "{controller}/SendToken/{platform}/{token}/{uid}",
defaults: new { controller = "Home", action = "SendToken" },
namespaces: new[] { "MvcApplication.Controllers" }
);
//...other more general routes.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
例如,如果 Default
路由放在令牌路由之前,它仍然会匹配 http://localhost:51650/Home/SendToken/platform/token/uid
其中
controller = "Home",
action = "SendToken",
id = "platform/token/uid"
我已将新操作添加到我的 asp.net mvc 应用程序并在 RouteConfig.cs
.
但所有参数都作为 null
传递。
这是我的路线规则:
routes.MapRoute(
"toekn_submit_route",
"{controller}/SendToken/{platform}/{token}/{uid}",
new { controller = "Home", action = "SendToken" }
, new[] { "MvcApplication.Controllers" }
);
这里是动作减速:
public JsonResult SendToken(string platform, string token, string uid) { ... }
我使用这个 URL 调用操作:http://localhost:51650/Home/SendToken/platform/token/uid
添加路由的顺序很重要。第一个匹配的路线获胜。
确保将这条添加的路由添加到更通用的路由之前,否则它们将被另一条未按预期填充占位符的路由匹配。
routes.MapRoute(
name: "token_submit_route",
url: "{controller}/SendToken/{platform}/{token}/{uid}",
defaults: new { controller = "Home", action = "SendToken" },
namespaces: new[] { "MvcApplication.Controllers" }
);
//...other more general routes.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
例如,如果 Default
路由放在令牌路由之前,它仍然会匹配 http://localhost:51650/Home/SendToken/platform/token/uid
其中
controller = "Home",
action = "SendToken",
id = "platform/token/uid"