gpt4 book ai didi

asp.net-mvc-3 - 自定义 RazorViewEngine 出现页面错误

转载 作者:行者123 更新时间:2023-12-04 08:24:31 24 4
gpt4 key购买 nike

我正在尝试使用 Razor 实现自定义 View 引擎。目标是如果 View 位于子文件夹中以使用该 View 。

我的 View 引擎源自 RazorViewEngine

 public class RazorViewFactory : RazorViewEngine
{
public RazorViewFactory()
{
string TenantID = ConfigurationManager.AppSettings["TenantID"];

if (TenantID != null)
{
MasterLocationFormats = new[] {
"~/Views/Shared/{0}.cshtml"
};

ViewLocationFormats = new[]{
"~/Tenant/" + TenantID + "/Views/{1}/{0}.cshtml",
"~/Tenant/" + TenantID + "/Views/Shared/{0}.cshtml",
"~/Views/{1}/{0}.cshtml",
"~/Views/Shared/{0}.cshtml"
};

PartialViewLocationFormats = new[] {
"~/Tenant/" + TenantID + "/Views/{1}/{0}.cshtml",
"~/Tenant/" + TenantID + "/Views/Shared/{0}.cshtml"
};
}
}

}

在我的 Global.asax 中
 protected void Application_Start()
{
...
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewFactory());
}

一切正常,除了当我加载租户 subview 主页时,我收到以下错误。
The view at '~/Tenant/TenantB/Views/Home/Index.cshtml' 
must derive from WebViewPage, or WebViewPage<TModel>.

如果我加载基本主页,它可以在 Razor 引擎上正常工作。

最佳答案

您需要复制 web.config文件来自您的 Views文件夹到您的 Tenant文件夹(或确保它具有与此处所述相同的配置部分:Razor HtmlHelper Extensions (or other namespaces for views) Not Found)

关于asp.net-mvc-3 - 自定义 RazorViewEngine 出现页面错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com