Я группирую свои представления, контроллеры и модели. СтруктураОбщие макеты, не найденные с переопределенными Пути просмотра (Форматы местоположения) в ASP.NET MVC
~/Controllers
-- /_Shared
-- -- /Views
-- -- /Content
-- -- /Scripts
-- /Home
-- -- /Models
-- -- /Content
-- -- /Scripts
-- -- /Views
-- -- HomeController.cs
-- /Account
-- -- /Models
-- -- /Views
...
Мнения и частичные работу, но макеты (мастер просмотров) не работу. Когда я указать расположение в файле .cshtml как:
@{ Layout = "SimpleSharedLayout"; }
Я получаю эту ошибку: макет страницы «SimpleLayout» не удалось найти по следующему пути:
"~/Controllers/Account/Views/SimpleSharedLayout".
ASP.Net только ищет расположение в каталоге текущего контроллера и не заглядывать в общей папке * (который находится в ~/Контроллеры/_Shared/Просмотров) *
Хотя этот работает просто отлично.
@Html.Partial("SharedPartialView")
Я должен указать макеты с полными путями, как
@{ Layout = "~/Controllers/_Shared/Views/SimpleSharedLayout.cshtml"; }
Что не трудная вещь, чтобы сделать, но я без ума не в состоянии заставить его работать.
Использование IIS Express, VS 2012, .NET 4.5
У вас есть представление о том, что я не хватает?
Мой Вид двигателя:
public class AreaViewEngine : RazorViewEngine
{
public AreaViewEngine()
{
AreaViewLocationFormats = new[] {
"~/Controllers/{1}/Views/{0}.cshtml",
"~/Controllers/_Shared/Views/{0}.cshtml"};
ViewLocationFormats = AreaViewLocationFormats;
AreaMasterLocationFormats = new[] { "~/Controllers/_Shared/Views/{0}.cshtml" };
MasterLocationFormats = AreaMasterLocationFormats;
AreaPartialViewLocationFormats = new[] { "~/Controllers/_Shared/Views/{0}.cshtml",
"~/Controllers/{1}/Views/{0}.cshtml"};
PartialViewLocationFormats = AreaPartialViewLocationFormats;
}
}
Да, но когда я открываю контроллер, я хочу видеть все связанные файлы с этим контроллером. Это виды, пользовательские css и js-файлы и модели. Почему они все равно находятся в разных папках? Когда я работаю с контроллером, я одновременно работаю с соответствующей моделью и смежным представлением. И да, Areas - это не тот объект, который я ищу. То, что я создал, находится между областями и классическим подходом. – Seregwethrin
Вы будете ассимилированы. Сопротивление бесполезно. :) С серьезностью, да, вы можете сделать соглашение работать так, как хотите, но в какой-то момент вы должны задать вопрос, стоит ли это делать.Далеко не от меня, чтобы раздавить свой пограничный дух, но на вашем месте я бы побывал в Районах и сконцентрировался на том, чтобы сделать проект лучшим, чем он может быть. Удачи мой друг. –
Я полностью согласен с тобой, это точно. Я уже сдался :) Даже Resharper не отображает некоторые взгляды и делает меня сумасшедшим. Я думаю, что я должен вернуться к исходной структуре ... – Seregwethrin