У вас на самом деле две проблемы. Первая проблема заключается в том, что упомянутый выше URL не соответствует созданному вами маршруту. Вторая проблема связана с вашим маршрутом, и ваши действия не совсем совпадают.
У вас есть это для URL в вашем вопросе:
/ RightHere / GetDate / 1-1-2009
Это должно быть так:
/ RightHere / 1-1-2009
Если вы хотите, чтобы он был последним, вам нужно изменить маршрут на следующий:
routes.MapRoute(
"Custom",
"RightHere/GetDate/{entryDate}",
new { controller = "RightHere", action= "GetDate" }
);
У вас есть это для вашего действия:
public ActionResult GetDate(DateTime date)
{
...
}
Это должно быть так, чтобы соответствовать вашему маршруту:
public ActionResult GetDate(DateTime entryDate)
{
...
}
Кроме этого, вы готовы идти. Просто убедитесь, что у вас есть маршрут вверху, над маршрутом по умолчанию. Я могу порекомендовать еще одну вещь, которая может помочь, добавив ограничение к вашему маршруту, например:
routes.MapRoute(
"Custom",
"RightHere/{entryDate}",
new { controller = "RightHere", action= "GetDate" },
new { entryDate = @"\d{2}-\d{2}-\d{4}"}
);
Это гарантирует, что переданная дата ввода имеет правильный формат.