Я определил свой собственный механизм просмотра, как показано ниже, просто чтобы добавить больше местоположений для поиска.
public class CustomViewEngine : RazorViewEngine
{
private static string[] AdditionalViewLocations = new[]
{
"~/{1}/{0}.cshtml"
};
public CustomViewEngine() : base()
{
MasterLocationFormats = MasterLocationFormats.Union(AdditionalViewLocations).ToArray();
PartialViewLocationFormats = PartialViewLocationFormats.Union(AdditionalViewLocations).ToArray();
ViewLocationFormats = ViewLocationFormats.Union(AdditionalViewLocations).ToArray();
}
}
Теперь проблема, с которой я столкнулся, заключается в том, что макет не применяется ни для одного из представлений, которые были установлены на странице _ViewStart.cshtml. Ценит вашу помощь.
Да, все стили сломаны, и контент из _Layout.cshtml не приходит. У меня это есть в моем _ViewStart.cshtml. @ {Layout = "~ / Views / Shared / _Layout.cshtml"; }
@TetsuyaYamamoto, просто чтобы добавить одну вещь. нет ошибок на стороне клиента
механизм ищет начало просмотра в иерархии папок представления. Итак, поскольку вы используете другие места, кроме папки Views, вы должны поместить viewstart в корень приложения.
@ J.Loscos: Спасибо. После сохранения в корневом каталоге это сработало.
@ J.Loscos, почему вы не можете добавить его в качестве ответа, если это помогло @Parashuram? Ответы будут более сфокусированными, и это действительно поможет кому-то с той же проблемой.
Можете объяснить, как макет не применяется ни для одного из представлений? Неужели все стили страниц просмотра нарушены (и вызывают ошибки на стороне клиента) после добавления настраиваемого механизма просмотра?