我们提供安全,免费的手游软件下载!
在当下,SPA(单页应用)已经成为主流,人们似乎已经忘记了MVC(模型-视图-控制器)和Razor的历史。但在某些情况下,服务器端渲染(SSR)仍然具有意想不到的效果,例如在某些静态页面以及追求首屏加载速度的情况下。最近,重新应用传统方法在项目中还是带来了不错的效果。
在某些时候,我们希望将视图(Views)从主项目中分离出来,以提高项目的模块化程度。本文将介绍如何将视图分离到另一个Razor类库项目中。在以前的.NET Framework下,这是一种常见的做法,但在.NET Core下相关资料相对较少,因此我们将对此进行记录。
首先,我们需要创建一个新的Razor类库项目。在项目文件(.csproj)中,需要添加以下配置:
...
true
false
false
XXX
然后,我们需要将所有的视图文件从主项目复制到新的Razor类库项目中。
接下来,我们需要在主项目中添加对新Razor类库项目的引用。这可以通过在主项目的项目文件中添加以下代码来实现:
在主项目中,我们需要配置Razor视图引擎的视图位置格式,以便它能找到新项目中的视图。可以通过以下代码来实现:
builder.Services.Configure(options => {
options.ViewLocationFormats.Add("/Widgets/{1}/{0}" + RazorViewEngine.ViewExtension);
options.ViewLocationFormats.Add("/Widgets/Shared/{0}" + RazorViewEngine.ViewExtension);
});
最后,如果新项目中包含了静态资源(如CSS、JavaScript、图片等),并且这些资源放在wwwroot文件夹下,那么这些资源会在编译后出现在主项目的wwwroot/_content/{library project name}文件夹下。因此,我们需要在HTML中使用以下的路径格式来引用这些静态资源:
以上就是将ASP.NET Core MVC项目的视图分离到另一个项目的步骤。希望这篇文章对您有所帮助!
热门资讯