Tengo un proyecto que actualicé recientemente a ASP.NET MVC 3. En mi máquina local, todo funciona bien. Cuando despliegue en el servidor, obtengo un error cada vez que uso una llamada RedirectToAction
. Lanza un System.InvalidOperationException
con el mensaje de error Ninguna ruta en la tabla de rutas coincide con los valores suministrados. Mi suposición es que hay algún problema de configuración en el servidor, pero parece que no puedo resolverlo.Causas de RedirectToAction "Ninguna ruta en la tabla de rutas coincide con los valores suministrados" en ASP.NET MVC 3
Respuesta
Tuve un problema similar una vez con RedirectToAction
y descubrí que necesita una ruta válida registrada que conduzca a esa acción.
Resultó ser algo con las rutas. Funcionó bien en MVC2 pero tuve que agregar una ruta adicional con un parámetro opcional menos para que funcione con MVC3. – Schmalls
Salida vistazo y ver si se puede conseguir un poco de ruta información de depuración: http://getglimpse.com/
Hay una diferencia con barras de cierre en rutas que no trabajan con MVC 3.0. MVC 2.0 no tiene un problema con ellos. Es decir, si se cambia la siguiente:
"{controller}.mvc/{action}/{id}/"
a:
"{controller}.mvc/{action}/{id}"
debe solucionar este problema (de this thread, que funcionó para mí). Incluso cuando utiliza el asistente de actualización para pasar a MVC 3.0, esto todavía arroja InvalidOperationException
. No estoy al tanto de si esto es de lo que Schmalls estaba hablando.
Me encontré con esto con áreas dentro de MVC3 al redirigir a través de áreas. Como han dicho otros, Glimpse es muy útil aquí.
La solución para mí fue que pase en el área dentro de la ruta de cambio de valores de parámetros:
return RedirectToAction("ActionName", "ControllerName");
a:
return RedirectToAction("ActionName", "ControllerName", new { area = "AreaName" });
Esta es la verdadera respuesta ... Me encontré con este problema usando AttributeRouting, y aunque funciona en otras páginas sin necesidad de especificar el nombre del Área, tuve que hacerlo para este Área en particular. – jspinella
Se podría añadir una tabla de rutas para presentar su RouteConfig.cs como a continuación:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapMvcAttributeRoutes();
var namespaces = new[] { typeof(HomeController).Namespace };
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("name", "url", new { controller = "controllerName", action = "actionName" }, namespaces);
}
Nota: el "URL" es lo que se teclea en la barra de direcciones dicen: localhost:/home
Después de configurar la ruta, use RedirectToRoute("url")
.
O si prefieres RedirectToAction()
entonces no necesitas configurar la ruta anterior, utiliza los valores predeterminados. RedirectToAction(string action name, string controller name)
;
Espero que esto ayude.
- 1. Cómo depurar "Ninguna ruta en la tabla de rutas coincide con los valores suministrados". en ASP.NET MVC
- 2. Html.RenderAction provoca "No hay ruta en la tabla de rutas coincide con los valores suministrados"
- 3. ASP.NET MVC QueryString se predetermina reemplazando los valores suministrados?
- 4. ASP.NET MVC en IIS 6 - asignación de comodines: la solicitud entrante no coincide con ninguna ruta
- 5. Ninguna ruta coincide con "/ índice". ¿Problema simple?
- 6. ASP.NET MVC 3 - rutas SEO friendly personalizada
- 7. Incluyendo valores hash en las rutas de URL ASP.NET MVC
- 8. configuración cadena de consulta en redirecttoaction en asp.net mvc
- 9. ¿Por qué obtengo 404 cuando la ruta coincide? ASP.Net MVC
- 10. Uso de RedirectToAction en asp.net mvc
- 11. asp.net MVC antiforgerytoken en la excepción RedirectToAction
- 12. ASP.Net MVC RedirectToAction con el ancla
- 13. ASP.NET MVC URL Routing con múltiples valores de ruta
- 14. Seguridad con los valores de QueryString en Asp.net MVC
- 15. Rutas ASP.NET MVC con "Extensiones de archivos"
- 16. rails idear, ninguna ruta coincide cerrar sesión
- 17. comodines en las rutas asp.net mvc
- 18. Cambie las rutas MVC de ASP.NET dinámicamente
- 19. ActionController :: RoutingError (Ninguna ruta coincide con "/javascripts/rails.js")
- 20. Ninguna ruta coincide con la demostración del controlador - código generado en el andamio
- 21. Trabajar con enumeraciones en ASP.NET MVC 3
- 22. Rails no coincide la ruta con los recursos anidados
- 23. Cree routeValues (tipo anónimo) programáticamente en ASP.NET MVC 3
- 24. rutas ASP.NET MVC
- 25. Manejo de errores de ruta en ASP.NET MVC
- 26. rieles simples 3 Ruta está fallando - No hay ruta coincide
- 27. @ Html.ActionLink en ASP.NET MVC 3
- 28. Creación de gráficos en ASP.Net MVC 3
- 29. cómo agregar valores de querystring con el método RedirectToAction?
- 30. Rutas MVC con caracteres especiales
esto significa que el redireccionamiento no coincide con ninguna ruta en su tabla de rutas, consulte la tabla de rutas en el archivo 'global.asax'. Puede agregar parámetros que no se declaran en las rutas –
Proporcione más detalles sobre el 'RedirectToAction' que está fallando. Además, proporcione las rutas. – counsellorben