2011-08-20 79 views
9

我在一个解决方案下构建了几个不同的asp.net mvc 3 web项目。我希望能够利用所有这些项目的一些视图,因为它们都将在2个或3个不同的页面上显示相同的内容(每个应用程序都插入一些自定义内容)。可能跨多个mvc 3项目共享视图

这可能吗?

回答

4

我唯一能想到的就是将你的cshtml编译成一个单独的程序集(假设你正在使用RAZOR)。请参阅here

+0

这看起来很有希望......谢谢! –

1

一般来说,我还没有看到很多多项目ASP.NET MVC解决方案的例子。因为它有点没道理。它使事情变得复杂,它忽视了areas,它可能被用来获得相同的体验,但是更好的选择多个MVC项目。那么这3个项目是否有如此之多的共同点,以至于他们真的应该都在一个解决方案中。你实际上有什么样的MVC应用程序?他们在做什么?大多数在线样本解决方案都是单个MVC项目和多个类库项目。

现在到了真正的问题..我最近发现自己做了类似的事情,实际上我没有在一个解决方案中有多个项目,但我有不同的独立项目,都可以从单一使用视图获益,我们可以说“主”项目。我最终为它创建了Nuget包。实际上,我还将其他内容注入了包(脚本,样式,图像等),但您也可以仅将它用于视图。然后,您只需将该包添加到下一个项目中,并将包中的文件插入到目标项目中。我想说的是,你的包不一定要包含代码。

我不会在这里详述,但你应该看看它。

+4

企业级解决方案通常要求将SOA服务分离到同一产品的不同子域中。在这些情况下,您确实有单独的共享公共库的项目,并且可以包含常用布局。 –