asp.net mvc 2:SportsStore应用程序:当前的操作请求是不明确的

时间:2010-05-19 12:53:20

标签: asp.net-mvc-2

我正在研究下一本书中第4章的SportsStore示例并且卡住了......

Pro Asp.net mvc框架

我收到以下错误:

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

我的路由器代码如下所示:

        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

感谢

1 个答案:

答案 0 :(得分:1)

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