在指定了所有固定参数后,必须出现1-Named参数规范

时间:2017-01-15 11:03:45

标签: c# asp.net model-view-controller

我在处理项目时遇到了这个问题,我无法理解如何解决这个问题

![] [1]

routes.MapRoute(
    name: "MoviesByReleaseDate",
    url: "movies/byreleasedate/{year}/{month}",
          defaults: new
          {
              controller = "Movies",
              action = "ByReleaseDate",      
          },

          new  { year = @"/d={4}", month = @"/d={2}" }   
          );

2 个答案:

答案 0 :(得分:7)

使用3个命名参数(MapRoutenameurl)调用defaults方法,第四个参数未命名,这是不允许的。

或者命名也是最后一个参数,或者只使用与MapRoute方法中指定的顺序相同的未命名的参数。

查看一些解释here

答案 1 :(得分:1)

如果要对MapRoute方法使用多个参数,则可以不指定其他参数的名称,如下所示:

routes.MapRoute(
            "MoviesByReleaseDate",
            "movies/byreleasedate/{year}/{month}",
            new { controller = "Movies", action = "ByReleaseDate" }, 
            new { year = @"\d{4}", month = @"\d{2}" }
            );
相关问题