2012-10-25 23 views
0

我在asp.net的MVC 3,我的工作有三个方面在我的项目一样,如何配置在asp.net mvc的途径与领域

MyProject/Areas/Blogs 
MyProject/Areas/Forums 
MyProject/Areas/Groups 

在这三者之中,博客的看法是启动视图。对于我已经设置了作为globla.ascx

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

和BlogAreaRegistration.cs,

context.MapRoute(
       "Blogarea_Default", 
       "{controller}/{action}/{id}", 
       new { controller = "Blog", action = "Blog", id = UrlParameter.Optional } 
      ); 

和ForumAreaRegistration.cs,

context.MapRoute(
       null, 
       "Forums/{action}/{id}", 
       new {controller="Forums", action = "Forum", id = UrlParameter.Optional } 
      ); 

和GroupsAreaRegisration.cs,

context.MapRoute(
     "Groups_default", 
     "Groups/{controller}/{action}/{id}", 
     new { controller = "Groups", action = "Group", id = UrlParameter.Optional } 
    ); 

Here Forum和博客工作,因为我的愿望,但集团不工作,它总是显示404资源未找到页面所以请指导我,如果我在这个过程中有任何错误。

回答

2

尝试改变

context.MapRoute(
     "Groups_default", 
     "Groups/{controller}/{action}/{id}", 
     new { controller = "Groups", action = "Group", id = UrlParameter.Optional } 
    ); 

为:

context.MapRoute(
     "Groups_default", 
     "Groups/{action}/{id}", 
     new { controller = "Groups", action = "Group", id = UrlParameter.Optional } 
    ); 
+0

@Rogulski:我做了上述改变,但我没有得到所需的输出。它再次显示相同的404错误 –

+0

看起来你的网址产生'404'? –

0

您应该删除从您的GroupsAreaRegisration.cs代码块Groups/{controller}/ - 那么它应该工作。我想删除{controller}/,所以代码将是:

context.MapRoute(
    "Groups_default", 
    "Groups/{action}/{id}", 
    new { controller = "Groups", action = "Group", id = UrlParameter.Optional } 
); 

此外,在BlogAreaRegistration.cs我会用Blog取代{controller},因为你可能会得到相当意外的结果并非如此。在这里完整的代码将是

context.MapRoute(
    "Blogarea_Default", 
    "Blog/{action}/{id}", 
    new { controller = "Blog", action = "Blog", id = UrlParameter.Optional } 
);