【问题标题】:asp.net mvc 2: SportsStore application: The current request for action is ambiguousasp.net mvc 2:SportsStore 应用程序:当前的操作请求不明确
【发布时间】:2010-05-19 12:53:19
【问题描述】:

我正在研究下一本书第 4 章的 SportsStore 示例,但遇到了困难......

Pro Asp.net mvc 框架

我收到以下错误:

当前对控制器类型“ProductsController”的操作“List”的请求在以下操作方法之间不明确: System.Web.Mvc.ViewResult List() 类型为 WebUI.Controllers.ProductsController System.Web.Mvc.ViewResult List(Int32) 类型为 WebUI.Controllers.ProductsController ..

我的路由器代码如下:

        public static void RegisterRoutes(RouteCollection routes)
        {



            routes.MapRoute(
                null, // Route name
                "", // URL with parameters
                new { controller = "Products", action = "List", page=1 }
            );


            routes.MapRoute(
                null, // Route name
                "Page{page}", // URL with parameters
                new { controller = "Products", action = "List" }, // Parameter defaults
                new { page = @"\d+" }
            );
}

控制器代码如下:

public ViewResult List()
{
    return View(productsRepository.Products.ToList());
}

public ViewResult List(int page)
{
    return View(productsRepository.Products
                                .Skip((page - 1) * PageSize)
                                .Take(PageSize)
                                .ToList());
}

我错过了什么?

我的网址如下:

http://localhost:1103/

http://localhost:1103/Page1

http://localhost:1103/Page2

谢谢

【问题讨论】:

    标签: asp.net-mvc-2


    【解决方案1】:

    删除List() 控制器方法。在书中,它指出您需要将现有的List() 方法更新为您当前拥有的List(int page)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-05
      • 2012-05-26
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-12
      相关资源
      最近更新 更多