我有以下路由。
当我访问该URL时,
生成的字符串是:
routes.MapRoute(
"GigDayListings", // Route name
"gig/list/{year}/{month}/{day}", // URL with parameters
new { controller = "Gig", action = "List" },
new
{
year = @"^[0-9]+$",
month = @"^[0-9]+$",
day = @"^[0-9]+$"
} // Parameter defaults
);
当我访问该URL时,
gig/list/2009/01/01
这个路由完美匹配,我的操作被调用。
在我的视图中,我有一个帮助程序执行以下操作:
var urlHelper = new UrlHelper(ViewContext);
string url = urlHelper.RouteUrl(ViewContext.RouteData.Values);
生成的字符串是:
http://localhost:3539/gig/list?year=2005&month=01&day=01
为什么它不工作
http://localhost:3539/gig/list/2005/01/01
我做错了什么?