Я играю с механизмом просмотра бритвы, и есть кое-что, что я не совсем понимаю.Почему полный путь к макету требуется в файле viewstart, когда местоположения указаны в движке просмотра?
_ViewStart файл определяет макет с полным путем к файлу, как это:
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
Как я понимаю, должны быть включены полный путь и расширение. Вы не просто сделать это:
@{
Layout = "_MasterLayout";
}
Однако вид двигателя определяет места для поиска основных видов:
MasterLocationFormats = new string[] {
"~/Views/{1}/{0}.cshtml",
"~/Views/Shared/{0}.cshtml"
};
Каким полный путь к файлу мастер-макета является требуется в файле _ViewStart?
И если указан полный путь, то в чем же смысл указывать возможные местоположения в MasterLocationFormats[]
?
Update
Ну я до сих пор не нашли удовлетворительного ответа на этот вопрос.
экспериментирования, казалось бы, что MasterLocationFormats либо ingored или переопределены при указании макета в файле viewstart.
Я смог полностью удалить местоположение MasterLayout.cshtml из MasterLocationFormats, и это не имело никакого значения для отображения веб-страниц.
Мой личный вопрос был вызван использованием MvcMailer package, что позволяет указать вид бритвы для использования в качестве шаблона для отправки html-адреса электронной почты. Это использует MasterLocationFormats.
Так что я все еще немного озадачен, но надеюсь, что это будет использовать кому угодно. Также this post may also be of help.
Я никогда не ожидал ответа после всего этого времени. Хороший! –