Asp.net Сайт MVC.master и Razor Switch

#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. Спасибо.