Domanda

Questa domanda ha già una risposta qui:

Sto giocando con Raven DB e MVC 2. Per impostazione predefinita, l'ID in Raven sarà ad esempio "Suggerimenti/1234" per un'entità chiamata suggerimento.

Questo provoca problemi con il routing quando scrivo in questo modo:

<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>

L'URL sarà/Suggerimento/Elimina/Suggerimenti/14337 che non funzionerà.

Questo può essere risolto nel routing o devo cambiare il formato dell'ID in Raven? E come lo faccio?

È stato utile?

Soluzione

Cambia il tuo percorso da {controller}/{action}/{id} a {controller}/{action}/{*id}. Questo è chiamato un percorso "catch-all"; più dettagli su msdn.

In alternativa, potresti passare il id come parametro di query.

Altri suggerimenti

Non sarai in grado di codificare la barra in avanti per impostazione predefinita.

Modifica l'ID in suggerimenti_1234 o prova a utilizzare questa impostazione:

<uri> 
    <schemeSettings>
        <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
    </schemeSettings>
</uri>

Non ho ancora verificato se l'impostazione della configurazione funziona ancora. E non posso farlo adesso perché il calcio inizia in 5 minuti.

Slash codificato per URL nell'URL

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top