Pregunta

Esta pregunta ya tiene una respuesta aquí:

Estoy jugando con Raven DB y MVC 2. De forma predeterminada, la ID en Raven será, por ejemplo, "Sugerencias/1234" para una entidad llamada sugerencia.

Esto causa problemas con el enrutamiento cuando escribo así:

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

La URL será/sugerencia/eliminar/sugerencias/14337 que no funcionarán.

¿Se puede resolver esto en el enrutamiento, o tengo que cambiar el formato de la identificación en Raven? ¿Y cómo hago eso?

¿Fue útil?

Solución

Cambia tu ruta desde {controller}/{action}/{id} a {controller}/{action}/{*id}. Esta se llama una ruta de "atrapar todo"; más detalles en msdn.

Alternativamente, podrías pasar el id Como parámetro de consulta.

Otros consejos

No podrá codificar la barra de reenvío de forma predeterminada.

Cambie la ID a sugerencias_1234 o intente usar esta configuración:

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

No verifiqué si la configuración de configuración funciona todavía. Y no puedo hacerlo ahora porque el fútbol comienza en 5 minutos.

Corte codificado por URL en URL

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top