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?

War es hilfreich?

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.

URL-kodierter Schrägstrich in der URL

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top