2

我创建了一条新路线,如下所示:

   routes.MapRoute(
     "BlogYMD",
     "blog/date/{year}/{month}/{day}",
     new { controller = "Blog", action = "Date", year = "2009", month="01", day="01" });

该视图仅返回年、月和日的串联。这适用于 URL 之类的:

http://localhost/blog/date/2009/01/01

但是,如果我输入此 URL:

http://localhost/blog/date/2009

我希望将月份和日期的默认值传递给 date 方法。但是它们不是,该方法上的所有参数都作为空值传入。

我错过了一些明显的东西吗?

4

2 回答 2

2

您没有显示其余路线,但我怀疑您的 global.asax.CS 中的这条路线上方有另一条路线(例如,默认路线),它与第二个 URL 匹配。

于 2009-04-13T12:57:47.583 回答
2

声明路由的顺序很重要。您希望在默认路由之前声明您的自定义路由。

于 2009-04-13T13:48:34.467 回答