2012-05-03 32 views
1

在MVC3应用程序,我在我家控制器中的观点,即通过以下网址获得:MVC3 ::使用Global.asax的直接特定的控制器/动作到不同的控制器/动作

http://mysite.com/home/mycontent

然而,我的用户希望通过给它accees:

http://mysite.com/mycontent(没有具体提及给家庭控制器)

我试图修改我的Global.asax有以下几点:

routes.MapRoute(
     "MyContent", // Route name 
     "MyContent", // URL with parameters 
     new { controller = "Home", action = "MyContent"} // Parameter defaults 
    ); 

但是,当我尝试使用它时,出现404错误。有什么方法可以完成我的用户想要做的 - 将URL重定向到特定的控制器/视图对?

回答

2

我认为你应该保留一些“参数”:

routes.MapRoute(
     "MyContent", // Route name 
     "{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults 
    ); 
+0

对不起...但仍然是同样的问题。 –

+0

您是否定义了其他路线(可能是默认路线)? – fmgp

+0

只是默认的一个。 –

1

按照什么顺序你的路由注册?该路线应在您的默认路线之前。

E.g.

routes.MapRoute(
    "MyContent", // Route name 
    "MyContent", // URL with parameters 
    new { controller = "Home", action = "MyContent"} // Parameter defaults 
); 

routes.MapRoute(
    "Default", // Route name 
    "{controller}/{action}/{id}", // URL with parameters 
    new { controller = "Pages", action = "Index", id = UrlParameter.Optional } 
); 

否则,它应该工作......我有定义完全相同的路线。

相关问题