Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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.Net MVC添加寻呼机,但路由可以';找不到_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

C# ASP.Net MVC添加寻呼机,但路由可以';找不到

C# ASP.Net MVC添加寻呼机,但路由可以';找不到,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我在添加新路由以允许我进行分页时遇到问题 在Route.Config.cs文件中,我添加了一个新路由,UpcomingOffers: public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(

我在添加新路由以允许我进行分页时遇到问题

在Route.Config.cs文件中,我添加了一个新路由,
UpcomingOffers

 public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

        routes.MapRoute(
           name: "UpcomingOffers",
           url: "Offer/Page/{page}",
           defaults: new { controller = "Offer", action = "Index" }
       );
    }
}
我的Global.asax.cs文件在“应用程序启动”下有:

 RouteConfig.RegisterRoutes(RouteTable.Routes);
在我的报价控制器中,我有:

    //
    // GET: /Offer/
    // GET: /Offer/Page/2

    public ActionResult Index(int? page)
    {
        const int pageSize = 10;
        var item = db.Customers.OrderByDescending(x => x.OfferCreatedOn).ToList();
        var paginatedItems = item.Skip((page ?? 0) * pageSize)
            .Take(pageSize)
            .ToList();
        return View(paginatedItems);
    }
但是当我导航到
http://localhost:64296/offer/page/1
-我收到错误消息:

“/”应用程序中出现服务器错误

找不到资源

描述:HTTP404。您正在寻找的资源(或其 依赖项)可能已被删除、名称已更改或 暂时不可用。请查看下面的URL并进行修改 确保它拼写正确

请求的URL:/offer/page/1

有人能看出我做错了什么吗?我怀疑它在我的路线上某处

谢谢,


标记

交换两条路线。添加到路由表中的路由顺序很重要。新的自定义管线将添加到现有默认管线之前。如果颠倒顺序,则始终会调用默认路由而不是自定义路由

        routes.MapRoute(
           name: "UpcomingOffers",
           url: "Offer/Page/{page}",
           defaults: new { controller = "Offer", action = "Index" }
       );

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

有关自定义路线的详细信息,请参见此处

交换两条路线。添加到路由表中的路由顺序很重要。新的自定义管线将添加到现有默认管线之前。如果颠倒顺序,则始终会调用默认路由而不是自定义路由

        routes.MapRoute(
           name: "UpcomingOffers",
           url: "Offer/Page/{page}",
           defaults: new { controller = "Offer", action = "Index" }
       );

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

有关自定义路由的详细信息,请参见此处

MVC使用与URL匹配的第一个有效根目录。 您的URL匹配第一个rouft
{controller}/{action}/{id}
。这就是它试图找到Controler=Offer和Action=Page的原因

只需在
global.asax中交换根注册即可


MVC使用与URL匹配的第一个有效根。 您的URL匹配第一个rouft
{controller}/{action}/{id}
。这就是它试图找到Controler=Offer和Action=Page的原因

只需在
global.asax中交换根注册即可


谢谢@Darren-我会在StackOverflow允许的情况下尽快标记答案(10分钟)-只要你知道怎么做就简单了!!!干杯,马克,别担心,不客气。几周前我也遇到了同样的问题:)简单而好的回答谢谢@Darren-我会在StackOverflow允许的情况下尽快给出答案(10分钟)-如果你知道怎么做就简单了!!!干杯,马克,别担心,不客气。几周前我也遇到了同样的问题:)简单而好的答案