2013-02-05 28 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

你应该写这样一个包罗万象的路线......

享受:)