在共享项目中包括剃刀视图

时间:2018-09-12 19:40:16

标签: c# asp.net-mvc razor reusability

我有一个具有许多排序和过滤选项的网格CSS,Javascript,类和局部视图。我想将其全部包含在Visual Studio的共享项目中,以便可以在不同的应用程序中重用它。

该网格的CSS,Javascript和类在共享项目中可以正常工作。部分视图没有。我在部分视图中遇到很多错误,并且不确定如何从Web应用程序中的视图中引用部分视图。

是否可以在共享项目中包含视图?如果可能的话我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:-1)

RCL

一种可能适合您的方法是使用Razor类库(RCL)。 RCL对于ASP.NET来说还很新,它提供了一种轻松共享和重用剃刀视图的方法。

请参考以下文档:

https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ui-class?view=aspnetcore-2.1&tabs=visual-studio

如果要使用RCL,您可以覆盖Web项目中的共享视图。

  

应用程序可以包含RCL并覆盖其视图和页面   包含。当在两个视图中都找到视图,部分视图或剃刀页面时   Web应用程序和RCL,Web中的Razor标记(.cshtml文件)   应用优先。

共享源代码

您还可以使用版本控制共享剃刀源代码,以确保每个项目都具有相同的视图。我个人不建议这样做,但这是一个选择。

预编译视图

由于您没有使用.NET Core,因此另一个选择是预先编译视图。您可以使用以下文章进行说明:

https://www.codeproject.com/Articles/1169354/Pre-compiled-Razor-View-in-ASP-NET-MVC

获取包含已编译视图的DLL后,您可以轻松地将其作为其他项目的参考。

其他选项

查看此问题的答案以获得更多选择:

Sharing Razor views across projects