У меня есть следующие URL для моего сайта ASP.Net MVC 2:
http://localhost:1919/TimeEntry/SummaryForWeek/15/2011
http://localhost:1919/TimeEntry/SummaryForMonth/4/2011
Оба они идут по этому маршруту:
routes.MapRoute
(
"TimeEntryActionMonthYear", // Route name
"TimeEntry/{action}/{month}/{year}", // URL with parameters
new { controller = "TimeEntry", action = "Summary", month = UrlParameter.Optional, year = UrlParameter.Optional } // Parameter defaults
);
Действие для SummaryForWeek ожидает параметр с именем "weekNumber" (значение 15 в URL-адресе выше), тогда как используемый маршрут передает параметр с именем "month", и, следовательно, URL-адрес для weekSummary не выполняется. Не имеет смысла переименовывать параметр для SummaryForWeek от недели к месяцу только для того, чтобы маршрут работал.
Должен ли я добавить маршрут в таблицу маршрутов, где {action} жестко задан для "SummaryForWeeks"? Это также не имеет смысла, так как увеличивает размер таблицы маршрутов.
Что я не понимаю (я знаю, что это открывает мне некоторые творческие комментарии)? Я застрял.
Спасибо
Том