0

我正在研究 asp.net mvc 3。我的项目中有三个领域,例如,

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 }
    );

这里的论坛和博客可以按我的意愿工作,但组不工作它总是显示404 找不到资源页面,所以如果我在此过程中犯了任何错误,请指导我。

4

2 回答 2

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 }
    );
于 2012-10-25T12:25:58.640 回答
0

您应该从您的代码块中删除Groups/或删除 - 然后它应该可以工作。我会删除,所以代码将是:{controller}/GroupsAreaRegisration.cs{controller}/

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

同样在BlogAreaRegistration.cs我会替换{controller}Blog,否则你可能会得到非常意想不到的结果。这里的完整代码将是

context.MapRoute(
    "Blogarea_Default",
    "Blog/{action}/{id}",
    new { controller = "Blog", action = "Blog", id = UrlParameter.Optional }
);
于 2012-10-25T12:26:34.240 回答