URL-маршрутизация от Catch () в asp.net 4.0 - PullRequest
0 голосов
/ 16 мая 2011

Я написал на своей странице контента

   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");
        }
    }

но после входа в catch он не перенаправляет на страницу ошибки, а переходит на page_load, затем page_load мастера, затем показывает ошибку

Server Error in '/' Application.

Входная строка была в неправильном формате. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.FormatException: входная строка была в неправильном формате.

что не так ???

1 Ответ

0 голосов
/ 16 мая 2011

Вам необходимо зарегистрировать маршруты в событии application_start, чтобы сообщить серверу, какую страницу вызывать для данной строки.

В вашем файле Global.asax напишите следующее:

void Application_Start(object sender, EventArgs e) 
{

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

Пожалуйста, обратитесь к этой записи для более подробной информации.

...