1

我正在使用参数值调用一个动作。但它没有将参数值分配给操作方法参数。

    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 
              }
        );
4

2 回答 2

3

将参数名称更改为“id”而不是“userid”,然后尝试....它应该可以工作

public ActionResult UserDetail(long? id)
{

}
于 2013-03-23T05:27:49.397 回答
3

将此用户 ID 替换为 id :-

public ActionResult UserDetail(long? id)
    {

    }
于 2013-03-23T05:28:26.743 回答