单个解决方案中的两个MVC项目

时间:2014-10-29 12:35:24

标签: asp.net-mvc

我正在开发一个网站及其内容管理系统(管理面板)。我想在具有前端的同一解决方案中添加我的管理面板项目。将管理面板开发为单独项目的原因是我不想混合管理模型,控制器和视图。

这可能吗?如果是,那么我将如何从我的前端调用管理面板。

我将非常感谢开发网站管理员面板的其他想法。

2 个答案:

答案 0 :(得分:0)

  

我将如何从我的前端呼叫管理员面板?

通过链接到它,就像你对任何网站一样。

由于这两个项目是单独的应用程序,因此它们将使用单独的URL部署到单独的实例。当应用程序A需要链接到应用程序B时,它将使用标准超链接:

<a href="http://localhost/ApplicationB">Admin Panel</a>

(或者无论应用程序B的URL是什么。)

由于此网址可以基于每个环境进行更改,因此您也可以将其存储在Web.config中,可能存储在appSettings中:

<add key="AdminPanelURL" value="http://localhost/ApplicationB" />

那么你如何获得视图的价值取决于你。也许模型有它,也许它在ViewBag中,或者视图甚至可以明确引用System.Configuration

<a href="@System.Configuration.ConfigurationManager.AppSettings["AdminPanelURL"]">Admin Panel</a>

对于具有更多移动部件的大型项目,直接引用System.Configuration可能过多耦合,但对于较小的项目,它应该可以正常工作。

答案 1 :(得分:0)

保持mvc结构和管理许多mvc项目代码的最佳方法是使用MVC区域,更多信息

http://msdn.microsoft.com/en-us/library/ee671793(VS.100).aspx

http://www.codeproject.com/Articles/714356/Areas-in-ASP-NET-MVC