2011-05-16 144 views
0

我已經寫在我的內容頁網址在asp.net從捕捉()路由4.0

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

但進入抓到底它不重定向到錯誤頁,但它關係到Page_Load中再高手的Page_Load那麼它顯示錯誤

Server Error in '/' Application. 

輸入字符串的格式不正確。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.FormatException:輸入字符串的格式不正確。

有什麼問題?

+0

什麼是堆棧跟蹤? – SLaks 2011-05-16 17:04:53

回答

0

您需要在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 
    ); 
} 

請參考this後的更多細節。

+0

否;那麼他會得到一個路由錯誤。 – SLaks 2011-05-16 17:20:44

+0

我已經寫在我的global.asax頁面。 routes.MapPageRoute(「ErrorPage」,「ApplicationError」,「〜/ Public/Error.aspx」); – 2011-05-16 17:22:24

+0

我只是試過這個字符串url = Page.GetRouteUrl(「ErrorPage」); 然後我可以看到跟蹤url =/ApplicationError?Length = 9。那個長度是什麼意思? – 2011-05-16 17:39:09