【问题标题】:possible to share views across multiple mvc 3 projects可以跨多个 mvc 3 项目共享视图
【发布时间】:2011-10-31 07:58:55
【问题描述】:

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

这可能吗?

【问题讨论】:

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


    【解决方案1】:

    一般来说,我还没有看到很多多项目 ASP.NET MVC 解决方案的示例。因为这有点没有意义。它使事情复杂化,它忽略了areas,它可能被用来获得相同的体验,但比多个 MVC 项目要好得多。还有一个问题,这 3 个项目是否有如此多的共同点,以至于它们真的应该都在一个解决方案中。您实际上拥有什么样的 MVC 应用程序?他们在做什么?网上的大多数示例解决方案都是单个 MVC 项目和多个类库项目。

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

    我不会在这里详细说明,但你应该看看它。

    【讨论】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多