在MVC3中使用路由

时间:2012-01-22 19:02:13

标签: asp.net-mvc-3 routing

我是MVC世界的新手。我的问题是我想为几个URL请求使用相同的控制器。

问题: 我有一个包含三个部门的公司。

我想从所有这些请求中访问HomeController / Index。

  1. www.company.com/Home/Index - >打字:www.company.com /
  2. ww.company.com/department1/Home/Index - >打字:www.company.com/Department1
  3. ww.company.com/department2/Home/Index - >打字:www.company.com/Department2
  4. 这个Maproute可以工作,但如果我请求一个不同的控制器,那么默认我必须键入这样的东西(主公司)。 www.company.com/something/NewController/SomeAction。如果我想为主要公司请求这个,我想输入www.company.com/NewController/SomeAction。我如何在MVC3中解决这个问题?

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

1 个答案:

答案 0 :(得分:0)

如果我已正确理解您想要从所有控制器操作中访问索引视图。

然后您可以将Index放在共享文件夹中 - MVC将显示Index Page 如

* www.company.com/Shared/Index *

*I want to access the HomeController/Index from all of these requests.
    www.company.com/Home/Index -> typing: www.company.com/
    ww.company.com/department1/Home/Index -> typing:www.company.com/Department1
    ww.company.com/department2/Home/Index -> typing:www.company.com/Department2*