#asp.net-mvc-3 #razor #master-pages
#asp.net-mvc-3 #razor #мастер-страницы
Вопрос:
Недавно я преобразовал проект в visual studio 2010, затем в mvc 3 и теперь конвертирую представления в razor views.
Все работает нормально, но я замечаю, что не могу избавиться от site.master и заменить его на _layout ….
Каждый раз, когда я запускаю веб-сайт, страница по умолчанию всегда отображается site.master, даже если я вижу, что он вызывает контроллер, который использует представление, использующее _layout.cshtml
Мне интересно, есть ли где-нибудь в файле в любой точке, где указано, что главной страницей по умолчанию является site.master ?
Комментарии:
1. Каждый ли из ваших отдельных ASPX-файлов по-прежнему ссылается на site.master?
2. никакие aspx-файлы не вызываются. но я получил несколько aspx-файлов, которые не были преобразованы, но еще не используются.
3. Иногда самый простой способ — выполнить поиск во всех типах файлов в рамках решения для строки; в вашем случае «site.master» — посмотрите, куда вы ссылаетесь, и убедитесь, что это правильно.
4. @KTF, я бы не спрашивал, если бы я не сделал так много.
5. @Reza M.: Вы были бы удивлены. Я не подумал спросить о _ViewStart.cshtml . Я думал, что это было бы само собой разумеющимся. 😉
Ответ №1:
Убедитесь, что ваш _ViewStart.cshtml
файл указывает на правильную мастер-страницу.
@{
Layout = "~/Views/Shared/_Layout.cshtml"
}
Помимо этого, if site.master
не найден ни в ОДНОМ из ваших кодов (поиск по всему решению). Попробуйте перезапустить свое приложение.
Комментарии:
1. Рофл, не могу поверить, что я это пропустил. : P не очевидно, что нужно помнить, когда он автоматически генерируется для вас при создании нового проекта razor. Спасибо.