Использовать ограничение маршрута
Вы всегда можете определить ограничение маршрута в вашем вызове routes.MapRoute()
, который не будет проходить через любые запросы с неопределенным (или не числовым) id
:
new { id = "\d+" }
Это регулярное выражение, проверяющее значение id
на числовое.
Вероятно, вам придется создать новый маршрут, который определяет это, потому что для других действий контроллера вы, вероятно, не хотите, чтобы маршруты были неопределенными. В этом случае вашему действию контроллера не понадобится обнуляемый параметр, потому что идентификатор всегда будет определен.
Не бойтесь использовать несколько маршрутов. В реальных приложениях это встречается довольно часто.