ID mit / verursacht Probleme beim Routing [Duplikat
-
28-09-2019 - |
Frage
Diese Frage hat hier bereits eine Antwort:
Ich spiele mit Raven DB und MVC 2 herum. Standardmäßig wird die ID in Raven z. B. "Vorschläge/1234" für eine Entität namens Vorschläge sein.
Dies verursacht Probleme beim Routing, wenn ich so schreibe:
<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>
Die URL wird/Vorschlag/löschen/Vorschläge/14337, die nicht funktionieren.
Kann dies im Routing gelöst werden oder muss ich das Format der ID in Raven ändern? Und wie mache ich das?
Lösung
Ändern Sie Ihre Route von {controller}/{action}/{id}
zu {controller}/{action}/{*id}
. Dies wird als "Catch-All" -Route bezeichnet; mehr Details auf msdn.
Alternativ können Sie die übergeben id
als Abfrageparameter.
Andere Tipps
Sie können den Vorwärtsschräger nicht standardmäßig codieren.
Ändern Sie die ID in Vorschläge_1234 oder versuchen Sie, diese Einstellung zu verwenden:
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
Ich habe noch nicht überprüft, ob die Konfigurationseinstellung noch funktioniert. Und ich kann es momentan nicht tun, weil der Fußball in 5 Minuten beginnt.