ID con / causa problemas con el enrutamiento [duplicado
-
28-09-2019 - |
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?
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.