我试图在我的 Controller 中定义一个 RouteAttribute,但该值始终为 null。我试过的东西:
[HttpGet]
[Route("User/ChangePassword/{code:guid}")]
public ActionResult ChangePassword(Guid code)
{
return View();
}
URL:
http://localhost:59635/User/ChangePassword/c809619-4451-4e60-86ca-3bf7159c6d15
即使我输入了一个字符串,我得到的代码总是空的。 附言。该参数是必需的,没有可选的,有什么想法吗?
最佳答案
确保在注册默认(或区域)路由之前调用注册属性路由。应该看起来像这样......
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
AreaRegistration.RegisterAllAreas();
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
关于asp.net-mvc - ActionResult 参数始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333975/