2013-02-05 55 views
0

我的應用程序需要能夠讓用戶使用foo.com/pubid約定導航到頁面,其中pubid是隨機生成的字符串,例如「wgwrfwrcwrf」。MVC4捕捉所有請求到控制器動作

Home控制器有一個指數的ActionResult定義:

public ActionResult Index(string id) 
    { 
     //do stuff 
    } 

當我瀏覽到我的網站上這個動作沒有指定的ID,一切都很好。我返回與家庭相關的視圖。這是什麼bit.ly。我試圖在我的應用程序中翻譯該ID。

但是,如果我請求一個URL,如foo.com/wgwrfwrcwrf我得到一個404。我需要能夠捕獲此字符串將其發送到正確的視圖。這是否需要自定義路線?

回答

0
routes.MapRoute(
    "id", // Route name 
    "{id}", // id route 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 
+0

這是我在那裏用它去,但不起作用。 – Alex

+0

@亞歷山大,您在路線班上的位置? MapRoute命令很重要。 –

+0

@Michael_B我已經嘗試了MVC4項目中包含的默認路由前後。沒有任何運氣。 – Alex

0

你應該寫這樣一個包羅萬象的路線......

享受:)