Могу ли я иметь маршрут как ...
routes.MapRoute(
"Boundaries-Show",
"Boundaries",
new
{
controller = "Boundaries",
action = "Show",
locationType = UrlParameter.Optional
});
Где метод действия ...
[HttpGet]
public ActionResult Show(int? aaa, int? bbb, LocationType locationType) { ... }
, и если человек не предоставляет значение для locationType
.., тогда по умолчанию оно равно LocationType.Unknown
.
Возможно ли это?
Обновление # 1
Я сократил метод действия, чтобы он содержал ОДИН метод (только пока я не заработал). Теперь это выглядит так ...
[HttpGet]
public ActionResult Show(LocationType locationType = LocationType.Unknown) { .. }
.. и я получаю это сообщение об ошибке ...
Словарь параметров содержит
неверная запись для параметра
'locationType' для метода
«System.Web.Mvc.ActionResult
Показать (MyProject.Core.LocationType) 'в
'MyProject.Controllers.GeoSpatialController.
Словарь содержит значение
введите 'System.Int32', но параметр
требует значения типа
'MyProject.Core.LocationType.
Имя параметра: параметры
Не думает ли, что необязательный параметр маршрута LocationType
- это int32, а не пользовательский Enum
?