Пользовательский RazorViewEngine дает ошибку страницы
Я пытаюсь реализовать пользовательский механизм просмотра с помощью Razor. Цель состоит в том, если представление находится в подпапке, чтобы использовать это представление.
у меня есть мой view engine, полученный из 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"
};
}
}
}
и в моем глобальном.асакс
protected void Application_Start()
{
...
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewFactory());
}
все работает, за исключением того, когда я загружаю домашнюю страницу просмотра арендатора, я получаю следующую ошибку.
The view at '~/Tenant/TenantB/Views/Home/Index.cshtml'
must derive from WebViewPage, or WebViewPage<TModel>.
Если я загружаю базовую домашнюю страницу, она отлично работает с бритвой двигатель.