Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 ASP.NET MVC#路由-传递空整数_Asp.net Mvc 3_Asp.net Mvc Routing - Fatal编程技术网

Asp.net mvc 3 ASP.NET MVC#路由-传递空整数

Asp.net mvc 3 ASP.NET MVC#路由-传递空整数,asp.net-mvc-3,asp.net-mvc-routing,Asp.net Mvc 3,Asp.net Mvc Routing,我在一个web应用程序中使用MVC 3,我在路由方面遇到了一个问题 我这样定义路由器处理程序: routes.MapRoute( "Users", "{controller}.aspx/{action}/{id}/{page}", // URL with parameters new { controller = "Users", action = "Details", id = UrlParameter.

我在一个web应用程序中使用MVC 3,我在路由方面遇到了一个问题

我这样定义路由器处理程序:

           routes.MapRoute(
           "Users", 
           "{controller}.aspx/{action}/{id}/{page}", // URL with parameters
           new { controller = "Users", action = "Details", id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
       );
           public ActionResult Details(long id, int? page)
url是:(示例)

我已成功获取用户id,但无法获取页码

用户的控制器初始化如下:

           routes.MapRoute(
           "Users", 
           "{controller}.aspx/{action}/{id}/{page}", // URL with parameters
           new { controller = "Users", action = "Details", id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
       );
           public ActionResult Details(long id, int? page)
页面总是返回null(我需要页面作为null整数)

我把路线定义错了

谢谢

您使用了错误的URL。 试试这个:

http://app.domain/Users.aspx/Details/114142?page=5

如果
page
是可选的,
id
不能是可选的。只有路由定义的最后一个参数是可选的

因此:

然后:
/Users.aspx/Details/114142/5
将成功映射到

public ActionResult Details(long id, int? page)
{
    ...
}

除了他不想要
/Users.aspx/Details/114142?page=5
。他想要
/Users.aspx/Details/114142/5
。达林是对的。事实上,我使用的是带有参数的url。现在,我想停止使用page=5来传递5作为页面。谢谢Darin,这正是我想要的。干杯;)