¿Cómo manejar URL inválidas en MVC?Manejar URL inválida en MVC
Por ej .: cuando el usuario ingrese http://localhost/User/MyProfile en lugar de http://localhost/User/Profile, arrojará una excepción.
¿Cómo gestionar este pedido?
¿Cómo manejar URL inválidas en MVC?Manejar URL inválida en MVC
Por ej .: cuando el usuario ingrese http://localhost/User/MyProfile en lugar de http://localhost/User/Profile, arrojará una excepción.
¿Cómo gestionar este pedido?
Usted primero debe agregar una página URL personalizada de error en el web.config:
<customErrors mode="On" defaultRedirect="~/Error/404" />
y agregar un controlador para manejar las URLs no válidas:
public class ErrorController:Controller
{
[ActionName("404")]
public ActionResult Error404()
{
return View("Error");
}
}
y si se quiere redirigir al usuario a la página de inicio, entonces no necesita el controlador de error simplemente modifique la etiqueta de error personalizada:
<customErrors mode="On" defaultRedirect="~/Home/Index" />
Creo que cada solicitud debe ser redirigida al controlador frontal, por lo tanto envuelva su código dentro de un bloque try/catch que interceptará la excepción, y tal vez pueda redirigir a la página principal en el bloque catch o simplemente generar un error 404 con un controlador de excepción.
¿Cuál es el idioma de su servidor?
estoy usando MVC con C#. – Prasad
Está etiquetado asp.net-mvc-routing –
Lo siento por ser irrelevante ^^ –
¿Te refieres a esto?
// Show a 404 error page for anything else.
routes.MapRoute("Error", "{*url}",
new { controller = "Error", action = "404" }
);
ya exactamente así, pero cuando usé ese código, no está redirigiendo a la página especificada. Aún mostrando "El recurso no se puede encontrar". He agregado lo siguiente en Global.asax.cs: routes.MapRoute ("Error", "{* url}", nuevo {controller = "Home", action = "Index"}); – Prasad
Esto parece correcto ... –
Gracias marwan y Arnis. Funcionó – Prasad
En realidad, lo necesitaré pronto. Me ayudé a mí mismo (me gusta esta pregunta). –