我正在使用参数值调用一个动作。但它没有将参数值分配给操作方法参数。
public ActionResult UserDetail(long? userId)
{
}
localhost/Admin/UserDetail/10 --> 10 没有传递给 userId
但
localhost/Admin/UserDetail/?userId=10 --> 这行得通
是什么导致第一个网址不起作用?有什么帮助吗?
更新:
在 global.asax 中尝试过这个仍然无法正常工作
routes.MapRoute("ExistSiteUser",
"UserDetail/{userId}",
new
{
controller = "Admin",
action = "UserDetail",
// nothing optional
}
);
routes.MapRoute("NewSiteUser",
"UserDetail",
new
{
controller = "Admin",
action = "UserDetail",
userId = UrlParameter.Optional
}
);