首页 > 解决方案 > 如何使用单独项目中的 MVC 视图?

问题描述

在工作中,我有一个在 Web 窗体上运行的相当老的 Web 应用程序。它是用 VB .NET 编写的。

出于显而易见的原因,我试图摆脱 VB.NET 作为主要语言,因此我在解决方案中启动了另一个项目,使用 MVC 和 C# 作为语言。

我不能只将 MVC 添加到同一个项目中,因为我不能在同一个项目中混合语言(即使可以,我也不确定我是否愿意)。我的计划是让主 Web 项目依赖于 MVC 项目,但在启动时,让主项目引导 MVC 内容,设置路由,并将 MVC 项目中的任何“未找到”路由路由到 Web 窗体项目.

我知道我可以将我的 Razor 视图编译为代码,但这意味着当我在视图中进行更改并在应用程序运行时保存它们时,这些更改不会反映在正在运行的 Web 服务上。我必须重建才能看到我不想一遍又一遍地做的改变。

基于此,我似乎需要为视图引擎创建一个新的视图定位器,然后指定在哪里查找视图。唯一的问题是新的 MVC 项目在主项目旁边的文件夹中运行,所以我不能使用超出原始项目根目录的相对路径(如果我在旧项目中,我可以' t 只是制作视图位置~/../../newProject/Views/{1}/Partials/{0}.cshtml,因为它位于旧项目的根目录之上)

那么,如何创建一个视图定位器来定位单独项目中的视图?

标签: c#asp.net-mvcviewmodellocator

解决方案


推荐阅读