2011-09-22 103 views
1

我已经尝试routes.mapRoute,但我不能在MVC 3中找到一种方式来使用它使根路径路由到一个动作。例如mywebsite.com/party应该重定向到mywebsite.com/events/party,其中事件是控制器,并且聚会是行动。不能路由MVC控制器

这甚至可能吗?

+0

你可以发布你的路线的完整列表匹配的网址的任何路线? –

+0

是的,这是可能的。你目前有什么,你有什么尝试(告诉我们的代码)? –

回答

2

没有看到您现有的路线,它很难给你一个确切的解决方案。

一个规则要记住:

MVC能够解决您的路由集合相匹配的请求的URL

不一定是最精确的匹配在第一

确保您没有其他规则可以满足您之前放置在代码中的路线,例如路由算法可能会找到“派对”控制器和“索引”操作,因为您有一个默认规则,例如:

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

放置在您的规则之前。

你需要把像

routes.MapRoute(
    "PartyRoute", 
    "party", 
    new { controller = "Events", action = "Party" } 
); 

BEFORE,可能只是一个单一的参数

+0

谢谢!我有正确的语法只是把它放在默认的之后,当它应该在它之前!现在理解路由也更好一点。 – Davie

+0

没问题。我相信它抓到了很多人,包括我。 Steve Sanderson在他关于MVC的书籍中编写了一个很好的章节 - 对我有帮助http://blog.stevensanderson.com/2010/06/11/pro-aspnet-mvc-2-framework/ –

0
routes.MapRoute(
    "Default", 
    "{action}", 
    new { controller = "Events", action = "Index" } 
);