在没有区域的控制器中创建子文件夹

时间:2012-03-28 10:10:42

标签: .net asp.net-mvc asp.net-mvc-routing directory-structure

我正在开发一个MVC 3 Web应用程序,我想创建这样的东西:

/Controller
      /Blog
         BogController.cs
         ViewsController.cs
         ArticlesController.cs
      /Customers
         SalesController.cs
         ProductsController.cs          
      HomeController.cs
/Views
     /Blog
        Index.aspx
        Summary.aspx
        /Views
           Index.aspx
           Admin.aspx
           Show.aspx
       /Articles
          Show.aspx
          Admin.aspx
    /Customers
       /Sales
          Index.aspx
          Totals.aspx
       /Products
          Index.aspx
          Promotions.aspx
     /Home
       Index.aspx

Create sub folders in the controller

但是在解决方案中他们回答这个人是针对MVC 2而且是MVC 3中的MapAreas属性没有退出(或者至少它不会出现在我身上)

那么我可以做些什么来构建像/ Admin / Users / EditUser这样的结构?例如id = 2?

如果我需要创建一个路由规则,你能给我一个如何做的例子。

2 个答案:

答案 0 :(得分:10)

考虑使用MVC3 Areas。您可以为此创建管理区域。

答案 1 :(得分:3)

路由规则绝对是最佳选择。要制作一个像你提到的结构,写下这样的路线规则:

routes.MapRoute(
    "user_routing",
    "Admin/{controller}/{action}?id={id}",
    new { }
);

然后创建一个名为UsersController的控制器,以及一个id为参数的动作:

public ActionResult EditUser(string id) {
    ...
}