que tienen un sitio asp.net mvc 1.0 que sirve algo de contenido a partir de una jerarquía de nivel 2 /categoría/artículoCómo manejar 'Ver no encontrado' InvalidOperationException en asp.net mvc?
Cuando las cosas funcionan bien los mapas de artículo para una vista y la vista consigue prestados. Sin embargo, cuando la url cumple con la condición de enrutamiento pero la vista no existe, se genera una excepción que no puedo atrapar en la acción del Controlador.
enrutamiento:
routes.MapRoute(
"Article",
"{category}/{article}.aspx",
new { controller = "MyController", action = "Article" }
);
myController Acción:
public ActionResult Article(string category, string article)
{
string path = string.Format("~/Views/{0}/{1}.aspx", category, article);
ViewResult vr = View(path);
return vr;
}
Sin embargo, cuando no se encuentra el punto de vista, un System.InvalidOperationException
se genera que no puedo coger en la acción del controlador.
Detalles de excepciones: System.InvalidOperationException: La vista '~/Vistas/mi-categoría/mi-artículo-con-largo name.aspx' o su maestro no podía ser encontrada. Los siguientes lugares se realizaron búsquedas: ~/Vistas/mi-categoría/mi-artículo-con-largo name.aspx
que pueda interceptar el error en el método Application_Error()
en global.asax.cs
pero:
- no sé cómo redireccionar a la vista de error desde allí
- pregunto si hay un lugar mejor cerca de donde está la excepción planteada.
He intentado y me gusta la solución. El único problema es que si obtiene una InvalidOperationException debido a un motivo diferente, se producirá un 404. Tuve una excepción al intentar serializar algo. – Bealer