我正在研究这个我非常新的ASP.NET MVC项目。 几天后,我做了一些正常的ASP.NET Web窗体工作,但我真的是ASP.NET的初学者。我在php中开发项目很长时间,并且从未有机会尝试.NET。
返回问题: 我想有两个部分,一个用于管理员,一个用于前端用户。 我希望前端用户和管理员(BackEnd)用户拥有不同的主题不同的控制器和不同的模型。
在Simple PHP中,我确实创建了名为My_Controller
的基本控制器,它扩展了主控制器。
之后我创建了另外两个从my_controllers派生的基本控制器,即
将这个基于控制器的控制器移动到核心目录或库目录。
但是如何在ASP.NET MVC中实现这样的功能,我现在正在使用 ASP.NET MVC 5 。
目前我刚刚使用MVC创建了新项目。以下是我项目的当前文件结构
另外请分享为Admin Controller和FrontEnd Controller制作基本控制器的更好方法。 或者在解决方案的项目中拥有多个MVC项目。像HMVC一样。
但最重要的是什么是最好的方法以及如何实现此管理和前端文件结构。
答案 0 :(得分:3)
可能的解决方案1:
好主意可能是使用Asp.NET MVC的Area Feature。区域通常用于分离用户群,例如您的公共用户和管理员用户。
很好地解释了区域的详细信息可以在以下文档中找到。
http://msdn.microsoft.com/en-us/library/ee671793%28VS.100%29.aspx
关于管理员和用户网络应用的不同主题,您可以简单地使用不同的布局。在View>中放置两个布局共享文件夹。然后在每个视图上指定布局,如下所示。
对于用户视图
Layout = "~/Views/Shared/_UserLayout.cshtml";
对于管理员视图
Layout = "~/Views/Shared/_AdminLayout.cshtml";
可能的解决方案2:
如果您的项目足够大,以至于以后在单个项目中难以处理区域,您还可以拆分用户和管理项目。
但是你应该通过在其他项目中放置这样的代码(例如Models)并添加引用来了解源代码的可重用性。
我希望这能解决你的问题。