У меня есть приложение .Net MVC с несколькими областями, одна из которых называется Admin. Когда я выполняю / Admin / Home / Index, выполняется метод Index () в области администратора Home, и возвращается правильный файл Index.cshtml. Пока все хорошо.
Моя проблема связана с _Layout.cshtml. Я хочу, чтобы макет был разным для каждой области и для основного сайта. Для этого я добавил _ViewStart.cshtml в папку Views моей области администратора, и в этом _ViewStart у меня есть следующее:
@{
Layout = "/Areas/Admin/Views/Shared/_Layout.cshtml";
}
Опять же, пока, все хорошо, но использование полностью определенного пути кажется не элегантным, и я должен думать, что есть лучший способ.
Подобный вопрос был задан здесь:
Область не использует правильный вид
В одном ответе, который был дан, сказано, что полностью определенный путь - это путь, хотя он не был помечен как ответ ОП.
Так что мой вопрос таков. Необходимо ли использовать полный путь к ссылочным видам в области? Разве нельзя сделать это в области:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Основано ли на выполняемом контроллере, не способен ли механизм просмотра решить, что мне нужно представление из общей папки области, а не представление из общей папки основного сайта?
Спасибо,
Chris