开发者

Trouble setting a default controller in MVC 2 RC Area

开发者 https://www.devze.com 2022-12-16 15:41 出处:网络
This should be simple, but alas... I\'ve set up an Admin area within my MVC 2 project (single project areas).I\'ve created a couple controllers and their respective view folders.In the AreaRegistrati

This should be simple, but alas...

I've set up an Admin area within my MVC 2 project (single project areas). I've created a couple controllers and their respective view folders. In the AreaRegistration.RegisterArea method, I've specified that I want the default controller to be "Dashboard":

public override void RegisterArea(AreaRegistrationContext context)
    {
   开发者_StackOverflow     context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "Dashboard", action = "Index", id = "" }, new string[] { "Admin" }
        );
    }

If I navigate to url/Admin/Dashboard, the index comes up just fine. What I want, though, is to allow the user to go to url/Admin/ and see the same thing. When I do this, however, I get "The resource cannot be found".

I'm just getting my feet wet with MVC 2's Area implementation, and I don't think I'm doing anything overly complicated... Anyone had the same problem? Do I need to specify a separate route, perhaps at the root, non-area level?


Try adding this additional route:

        context.MapRoute(
            "Admin_default2",
            "Admin"
            new { controller = "Dashboard", action = "Index", id = "" }
        )


Ok, odd. So I added a different area, aptly named "Administration", set the default controller and added the appropriate controller, view, etc. and it worked. The difference? In my first case, I was using "Admin" as the area.


context.MapRoute(
               "Admin_default3",
               "Admin/{action}",
               new { controller = "Admin", action = "Index" }
               );
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号