可以在多个mvc 3项目中共享视图

时间:2011-08-20 19:07:29

标签: asp.net-mvc view partial-views

我正在一个解决方案下构建几个不同的asp.net mvc 3 Web项目。我希望能够在所有这些项目中使用一些视图,因为它们将在2或3个不同的页面上显示相同的内容(根据应用程序插入一些自定义内容)。

这可能吗?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

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

我不会在这里详述,但你应该调查一下。