У меня есть этот маршрут, который я только что добавил
routes.MapRoute(
"MyRoute",
"MyController/{action}/{orgId}/{startDate}/{endDate}",
new
{
controller = "MyController",
action = "MyAction",
orgId = 0,
startDate = DateTime.Today.AddMonths(-1),
endDate = DateTime.Today
},
new
{
action = new FromValuesListConstraint(new string[] { "MyAction", "MyActionEx" }),
orgId = new IntegerRouteConstraint(),
startDate = new DateTimeRouteConstraint(),
endDate = new DateTimeRouteConstraint()
}
когда я добавляю этот URL, он разрешается до маршрута по умолчанию (контроллер, действие, id), и вышеуказанный маршрут не перехватывает этот URL:
http://localhost:1713/MyController/MyAction/16
Но это ниже работает нормально.
http://localhost:1713/MyController/MyAction/16/11-May-10/11-May-10
мой вопрос в том, что я думал, что оба будут работать, так как я задаю значения по умолчанию для полей startDate и enddate
Я проверил это, используя RouteDebugger , и этот маршрут оказался ложным
как я могу иметь эти два последних параметра как необязательные, но все еще иметь проверку?