Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
C# ASP MVC 4路由错误_C#_Asp.net Mvc_Asp.net Mvc Routing - Fatal编程技术网

C# ASP MVC 4路由错误

C# ASP MVC 4路由错误,c#,asp.net-mvc,asp.net-mvc-routing,C#,Asp.net Mvc,Asp.net Mvc Routing,我的ASP MVC 4应用程序有问题 以下是我已知的错误: 参数字典包含方法“System.Web.Mvc.ActionResult Index(Int32,Int32,Int32)”的非null类型“System.Int32”的参数“page”的null条目 这是我的RouteConfig.cs: routes.MapRoute( name: "AppareilRoute", url: "Appareil/page/{page}/{pageSiz

我的ASP MVC 4应用程序有问题

以下是我已知的错误:

参数字典包含方法“System.Web.Mvc.ActionResult Index(Int32,Int32,Int32)”的非null类型“System.Int32”的参数“page”的null条目

这是我的
RouteConfig.cs

routes.MapRoute(
            name: "AppareilRoute",
            url: "Appareil/page/{page}/{pageSize}/{triCol}",
            defaults: new { controller = "Appareil", action = "Index", page = "{page}", pageSize = "{pageSize}", triCol = "{triCol}" }
        );

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
我的电话:

@Html.RouteLink("Appareils", "AppareilRoute", new { page=0, pageSize=50, triCol=0 })
控制器始终接收空值

我对这个错误感到非常失望,我尝试了很多方法,但没有一种有效…

有人能帮我吗?谢谢。

您需要在路由中将整数值作为默认值:

routes.MapRoute(
        name: "AppareilRoute",
        url: "Appareil/page/{page}/{pageSize}/{triCol}",
        defaults: new { controller = "Appareil", action = "Index", page = 0, pageSize = 50, triCol = 0 }
    );

您需要在路由中将整数值作为默认值:

routes.MapRoute(
        name: "AppareilRoute",
        url: "Appareil/page/{page}/{pageSize}/{triCol}",
        defaults: new { controller = "Appareil", action = "Index", page = 0, pageSize = 50, triCol = 0 }
    );

作为第一步,尝试routedebug,看看它告诉您正在发生什么:最后一个MapRoute不是覆盖了您的AppareilRoute吗?试着把你所有的自定义路由放在普通路由之后。我的呼叫似乎与我的路由不匹配,这就是routedebug。使用的路由是默认路由,为什么我的请求不匹配?@Kugel自定义路由必须在通用路由之前。路由是自上而下匹配的。作为第一步,请尝试RoutedBug查看它告诉您的情况:最后一条MapRoute不是覆盖了您的设备路由吗?试着把你所有的自定义路由放在普通路由之后。我的呼叫似乎与我的路由不匹配,这就是routedebug。使用的路由是默认路由,为什么我的请求不匹配?@Kugel自定义路由必须在通用路由之前。路由是自上而下匹配的。如果使用ActionLink而不是RouteLink如何
@Html.ActionLink(“Index”,“Appareil”,new{page=0,pageSize=50,triCol=0})
我认为使用page可能会导致一个问题-这条路线改变了吗<代码>url:“Appareil/pages/{page}/{pageSize}/{triCol}”也不起作用。我的呼叫似乎与我的路线不匹配,这就是routedebug。使用的路由是默认路由,为什么我的请求与AppareilRoute不匹配?请尝试使url开头的匹配器与控制器/操作模式完全不同,类似这样:
url:“appareil pages/{page}/{pageSize}/{triCol}”
我尝试了这个url:“appareil/{page}/{pageSize}/{triCol}”现在一切都好了!!如果你用ActionLink而不是RouteLink呢
@Html.ActionLink(“Index”,“Appareil”,new{page=0,pageSize=50,triCol=0})
我认为使用page可能会导致一个问题-这条路线改变了吗<代码>url:“Appareil/pages/{page}/{pageSize}/{triCol}”也不起作用。我的呼叫似乎与我的路线不匹配,这就是routedebug。使用的路由是默认路由,为什么我的请求与AppareilRoute不匹配?请尝试使url开头的匹配器与控制器/操作模式完全不同,类似这样:
url:“appareil pages/{page}/{pageSize}/{triCol}”
我尝试了这个url:“appareil/{page}/{pageSize}/{triCol}”现在一切都好了!!