Enrutamiento de URL desde Catch () en asp.net 4.0

He escrito en mi pagina de contenido

   protected void Page_Init(object sender, EventArgs e)
    {
        try
        {
            Page.Title = "Bollywood Movie-" + Page.RouteData.Values["MovieName"].ToString();
            int movieid = int.Parse(Page.RouteData.Values["MovieId"].ToString());
        }
        catch (Exception ex)
        {
            Response.RedirectToRoute("ErrorPage");
        }
    }

pero después de entrar en la captura, no se redirige a la página de error, sino que va a page_load luego a page_load del maestro y luego muestra el error

Server Error in '/' Application.

Cadena de entrada no tiene el formato correcto. Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.FormatException: la cadena de entrada no tenía el formato correcto.

¿¿¿lo que está mal???

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

Necesitas registrar las rutas en application_start evento para decirle al servidor a qué página llamar para una cadena determinada.

En su Global.asax archivo de escritura siguiente:

void Application_Start(object sender, EventArgs e) 
{

   RouteTable.Routes.MapPageRoute(
      "ErrorPage",      // Route name
      "ErrorPage",      // Route URL
      "~/ErrorPage.aspx" // Web page to handle route
   );
}

Por favor, consulta nuestra este Publicar para más detalles.

contestado el 16 de mayo de 11 a las 21:05

Lo he escrito en mi página global.asax. route.MapPageRoute ("ErrorPage", "ApplicationError", "~ / Public / Error.aspx"); - Abhishek Ranjan

acabo de probar esa cadena url = Page.GetRouteUrl ("ErrorPage"); entonces pude ver en el rastro que url = / ApplicationError? Length = 9. ¿Qué significa esa longitud ??? - Abhishek Ranjan

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.