Ich möchte eine MVC-Route für eine Liste von Nachrichten, die in verschiedenen Formaten serviert werden können.ASP.NET MVC Routen mit "Dateierweiterungen"
- Nachrichten -> (X) HTML
- news.rss -> RSS
- news.atom -> ATOM
Ist es möglich, dies zu tun (die allgemeinere „optionale Erweiterung "Situation taucht an mehreren Stellen in meinem geplanten Entwurf auf) mit einer Route? Oder muss ich zwei Routen wie diese machen:
routes.MapRoute("News-ImplicitFormat",
"news",
new { controller = "News", action = "Browse", format = "" });
routes.MapRoute("News-ExplicitFormat",
"news.{format}"
new { controller = "News", action = "Browse" });
Es scheint, wie es sinnvoll wäre, das Routing-System-Unterstützung etwas wie zu haben:
routes.MapRoute("News",
"news(.{format})?",
new { controller = "News", action = "Browse" });
Das funktioniert gut, obwohl ich die Reihenfolge der impliziten und expliziten Routen geändert habe, weil die explizite Spezifikation besser ist. – ern