我正在一个解决方案下构建几个不同的asp.net mvc 3 Web项目。我希望能够在所有这些项目中使用一些视图,因为它们将在2或3个不同的页面上显示相同的内容(根据应用程序插入一些自定义内容)。
这可能吗?
答案 0 :(得分:4)
我唯一能想到的就是将你的cshtml编译成一个单独的程序集(假设你使用的是RAZOR)。请参阅here。
答案 1 :(得分:0)
一般来说,我没有看到很多多项目ASP.NET MVC解决方案的例子。因为它有点没有意义。它使事情变得复杂,它忽略了areas
,它可能用于获得相同类型的体验,但是对于多个MVC项目来说是更好的选择。那么问题是这3个项目是否有这么多共同之处,以至于他们真的应该都在一个解决方案中。你实际拥有什么样的MVC应用程序?他们在做什么?大多数在线样本解决方案是单个MVC项目和多个类库项目。
现在问到实际的问题。我最近发现自己做了类似的事情,实际上我在一个解决方案中没有多个项目,但是我有不同的独立项目,这些项目都可以从一个单独的视图中受益,我们可以说“大师”项目。我最终为它创建了Nuget
包。我实际上还在包中注入了其他东西(脚本,样式,图像等),但你也可以将它用于Views。然后,您只需将包添加到下一个项目,然后将包中的文件插入到目标项目中。我想说的是,你的包不一定要包含代码。
我不会在这里详述,但你应该调查一下。