有没有办法告诉 Razor(DNN 的视图引擎)为 MVC 模块使用不同的视图文件夹?
Is there a way to tell Razor (DNN's View Engine) to use a different Views Folder for a MVC Module?
我正在尝试在 DNN 的自定义 MVC 模块中使用多个文件夹作为我的视图。
目标是在模块设置中选择一个主题,然后根据设置使用不同的视图文件夹(即为操作使用不同的 cshtml 文件)。
有没有办法告诉剃须刀它应该先查找其他位置?
(我可以将 DNN 中的 ViewLocationExpander 用于我的模块吗?)
谢谢!
我了解到您想进行某种应用程序设置并让 MVC 使用该设置为您 select 视图。我相信这是可能的,但如果使用 @RenderPage() 或 @RenderPartial() 对您尝试做的事情有意义,则有一种更简单、技术含量较低的方法。
所以假设您从 _index.cshtml
开始
您可以将文件放在文件夹中并构建路径(假设设置类似于 Path = "live" 或 "staging"):
@RenderPage(myApp.Settings.Path + "/_List-Filtered.cshtml",
title = "No filters",
index = myIndex
)
或直接修改文件名
@{
string myViewname = "Person";
}
@RenderPage("_List__" + myViewName + "--Filtered.cshtml")
我正在尝试在 DNN 的自定义 MVC 模块中使用多个文件夹作为我的视图。 目标是在模块设置中选择一个主题,然后根据设置使用不同的视图文件夹(即为操作使用不同的 cshtml 文件)。 有没有办法告诉剃须刀它应该先查找其他位置? (我可以将 DNN 中的 ViewLocationExpander 用于我的模块吗?) 谢谢!
我了解到您想进行某种应用程序设置并让 MVC 使用该设置为您 select 视图。我相信这是可能的,但如果使用 @RenderPage() 或 @RenderPartial() 对您尝试做的事情有意义,则有一种更简单、技术含量较低的方法。
所以假设您从 _index.cshtml
您可以将文件放在文件夹中并构建路径(假设设置类似于 Path = "live" 或 "staging"):
@RenderPage(myApp.Settings.Path + "/_List-Filtered.cshtml",
title = "No filters",
index = myIndex
)
或直接修改文件名
@{
string myViewname = "Person";
}
@RenderPage("_List__" + myViewName + "--Filtered.cshtml")