2010-02-18 39 views
0

这是一个ASP.NET MVC初学者问题(我正在开发NerdDinner)...我有创建ASP.NET MVC cms(有自己的设计)和门户(也有自己的设计)的任务将显示由CMS处理的数据。我想知道如果我将不得不在Visual Studio中创建两个单独的项目,或者我将不得不使用一个项目并将特定文件夹中的门户部分。
我知道,我的问题是有点为时过早(根据事实,我还没有完成教程),但我有点不耐烦了:)
ASP.NET cms和显示模板 - 2个项目或只是1?

在服务器上(商业托管)我想只用一个托管帐户...这个东西与URL路由有点让我困惑,CMS实际上也为搜索引擎优化。

我想URL的结构是:
---- ---- PORTAL
www.domain.com
www.domain.com/Menu1/Submenu1
www.domain。 COM /菜单2/Submenu1/SubSubmenu1 ...

---- ---- CMS
www.domain.com/CMS
www.domain.com/CMS/Whatever

感谢,

回答

2

这一切都依赖于门户的功能和MVC厘米。

对于初学者,我会为模型/数据访问提供单独的解决方案,这样您可以拥有尽可能多的MVC项目而无需重复访问数据。

从你想要的网址结构我可能会有CMS作为一个单独的控制器和子文件夹。或者,如果您使用MVC 2,则可以查看可能会给您更多灵活性的区域支持。

如果你想解决是一个复杂一点/灵活的,你有多种选择:

如果门户和MVC两厘米将会有你有两个母版页他相同的功能和页面布局并确定返回视图时显示哪个主页。你可以在路由中指定这个,所以多个路由将指向不同的控制器。

如果布局/功能稍有不同,但一个控制器仍然可以管理,您可以有一个单独的控制器项目和两个mvc项目,其中只包含视图,javascript和图像,这两个mvc解决方案都会查看您的控制器解决方案。有了这个选项,你很可能最终会在你的域名的一个根目录下设置两个网站,另一个在CMS文件夹下(在你的MVC应用程序中,你将需要阻止到/ CMS的路由,以便你的CMS应用程序处理它)。

最后,如果两者差异巨大,有两个独立的项目,但保留您的通用数据访问项目,如上所述,您可能需要在您的托管软件包上设置两个站点。

+0

Asp.NET MVC 2很好的解决了这个问题 - >区域! – 2010-03-26 09:29:06