2011-01-29 32 views
2

我有一個網址:http://localhost:XXXX/Details/569MVC 2 - URL縮短/路由(地圖路線)

我想將它縮短到:http://localhost:XXXX/569

目前我有:

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

那麼什麼樣的變化做我的路線,以便當輸入一個整數值時,它會轉到我的HomeController中的Details功能:

public ActionResult Details(int recordID) 
{ 
    /** Code Here **/ 
    return View(); 
} 

編輯:捕獲錯誤

此外,我怎麼能趕上爲發生在應用程序的任何錯誤?我不想顯示錯誤轉儲,而是想顯示一個「很好」的消息,說「哎呀!有什麼不對勁!」。

回答

3

在默認值之前添加此路線。它將確保只包含數字的URL調用HomeController的Details操作。

routes.MapRoute(
    "RecordDetails", 
    "xxxx/{RecordID}", 
    new { controller = "Home", action = "Details", RecordID=0 }, 
    new { RecordID = @"\d+" }); 
+1

嗨Ufukh。謝謝回覆。我試過你的解決方案,但我得到了以下錯誤。它們是:'/'應用程序中的服務器錯誤。 找不到資源。 說明:HTTP 404。您正在尋找(或它的一個依賴)可能已被刪除的資源,有其名稱更改,或者暫時不可用。請檢查以下網址並確保它拼寫正確。 請求的網址:/ 10 – 2011-01-29 19:28:45