控制器内的控制器?

时间:2012-04-06 18:40:52

标签: c# asp.net asp.net-mvc asp.net-mvc-3

我对MVC3有些新意,所以我有几个问题......

我正在创建一个博客类型的网站,我计划扩展以包含许多其他内容。目前我的项目中有一个AdminController,它有ViewResult用于我想要控制的各种事物..例如:

public ViewResult Blog()
{
    var model = db.Posts.ToList();

    return View(model);
}

和另一个用于页面,导航,用户管理等。

我的问题是......我希望每个部分都有一个额外的控制器......所以BlogController,NavigationController等等应该按照以下方式添加到URL ......

/Admin/Blog/Create
/Admin/Blog/Edit
/Admin/Navigation/Create

......等等

我猜我必须从AdminController继承类似:

public class BlogController : AdminController

并创建自定义路线图?

任何建议或指示都会非常有用。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可能需要查看区域;基本上这可以让你的控制器有另一个深度。换句话说,您将添加“管理”区域,然后在该区域内,您将拥有“博客”和“导航”控制器。这是一个关于如何设置区域的教程:

http://www.c-sharpcorner.com/UploadFile/b19d5a/areas-in-Asp-Net-mvc3/