我正在使用参数值调用一个动作。但它没有为动作方法参数赋值参数。
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
}
);
答案 0 :(得分:3)
将参数名称更改为“id”而不是“userid”,然后尝试....它应该可以正常工作
public ActionResult UserDetail(long? id)
{
}
答案 1 :(得分:3)
将此userID替换为id: -
public ActionResult UserDetail(long? id)
{
}