剃刀类库-有没有办法将所有Pages编译为Pages / <模块名=“”>?

时间:2018-10-22 19:14:32

标签: c# asp.net-mvc asp.net-core razor-class-library

如何在编译时或在WebApplication导入时自动将所有RCL页面移至Pages/的子文件夹,例如Pages/<module name>

我需要做到这一点是透明的,以便在RCL解决方案中,所有页面都在Pages/中,但是经过编译后,它们都在Pages/<module name>中。或者,它们是在Pages/上编译的,但是当由WebApplication导入时,它们托管在Pages/<module name>中。

是否存在一个项目级别设置,可以在编译页面之前添加一些文件夹名称?还是可以使用其他一些机制来达到相同的效果?

尝试的解决方案

我曾考虑过通过@page剃刀指令向RCL页面本身添加路由选项,但决定反对,因为它必须分别处理每个页面,并且我需要一些更通用的方法来应用于所有页面RCL中的页面。

我研究了如何通过Startup.cs的ConfigureServices()Configure()将RCL内容导入其他文件夹的方法,但是对于Conventions却没有成功。 PageRouteModelPageApplicationModel约定都只能看到被覆盖的页面。还尝试使用ConfigureFilter,但遇到了同样的问题。

试图在RCL的根_ViewImports.cshtml中添加一些内容以应用某种目录偏移,但是我找不到关于可在此处使用的razor指令的良好文档。

0 个答案:

没有答案