有没有办法告诉 RazorDNN 的视图引擎为 MVC 模块使用不同的视图文件夹?

问题描述

我正在尝试在 DNN 的自定义 MVC 模块中为我的视图使用多个文件夹。 目标是在模块设置中选择一个主题,然后根据设置使用不同的视图文件夹(即对操作使用不同的 cshtml 文件)。 有没有办法告诉剃刀它应该先查找其他位置? (我可以将 DNN 中的 ViewLocationExpander 用于我的模块吗?) 谢谢!

解决方法

我知道您想要某种应用程序设置并让 MVC 使用该设置为您选择视图。我相信这是可能的,但如果使用 @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")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...