Я пытаюсь добавить необязательный параметр в конце URL для указания формата. В идеале это будет работать так:
И localhost/details/42
, и localhost/details/42.xml
указывают на одно и то же действие.
В настоящее время я определил маршрут следующим образом
routes.MapRoute("with_Format", "Details/{id}.{format}",
new { controller = "Person", action = "Details" });
routes.MapRoute("without_format", "Details/{id}",
new { controller = "Person", action = "Details" });
Я хотел бы сделать это с одним определением маршрута. Я знаю, что вы можете добавить дополнительные URL-сегменты, такие как "Details/{id}{format}, new { format = UrlParameter.Optional}
; однако вам не разрешено иметь два сегмента пути, которые не разделены литеральным символом. Есть ли способ сделать .{format}
необязательным или мне нужно использовать два маршрута для этого?