如何在ASP.NET MVC中的不同项目中引用主视图?

Kin*_*tor 5 .net c# asp.net-mvc

我正在创建一个ASP.NET MVC解决方案,在我内部有2个MVC网站项目.

我有兴趣创建一个名为"Shared"的第三个项目,在那里我可以引用两个站点之间的共享视图/内容,所以我只有一个地方可以编辑它们.

  • WebUI.Site1(ASP.NET MVC站点)
  • WebUI.Site2(ASP.NET MVC站点)
  • WebUI.Shared(新创建的ASP.NET MVC站点)

如果Masterview的位置在另一个项目中,我该如何引用Masterview的位置?

所以,通常在视图的顶部我会像这样引用一个Masterview:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Tabbed.Master" Inherits="System.Web.Mvc.ViewPage<WebUI.ViewModels.Admin.EditProfileViewModel>" %>
Run Code Online (Sandbox Code Playgroud)

然而,

现在,"Tabbed.Master"不在本地项目中,它位于解决方案中的差异项目中.我已经创建了对项目的引用,但我不知道如何从WebUI.Site1引用Tabbed.Master到WebUI.Shared?

就像是:

<%@ Page Title="" Language="C#" MasterPageFile="WebUI.Shared.Views.Tabbed.Master" Inherits="System.Web.Mvc.ViewPage<WebUI.ViewModels.Admin.EditProfileViewModel>" %>
Run Code Online (Sandbox Code Playgroud)

不行.

如何在像这样的项目中引用masterview,css文件,图像等位置?

Bra*_*don 0

假设母版页位于WebUI.Shared Root/Views/SharedPage.Master

尝试在两者下创建一个虚拟目录WebUI.Site1WebUI.Site2指向WebUI.Shared

WebUI.Site1/Shared => WebUI.Shared Root
WebUI.Site2/Shared => WebUI.Shared Root
Run Code Online (Sandbox Code Playgroud)

从内部WebUI.Site1使用WebUI.Site2以下路径访问母版页:~/Shared/Views/SharedPage.Master

我认为 IDE 无法跟踪引用,但它应该可以在服务器上运行。

编辑: WebUI.Site1 和 WebUI.Site2 可能需要 WebUI.Shared 上的引用。