Разница между частичной страницей MVC 3 (Razor) и страницей просмотра MVC 3 с макетом (Razor)?

в бета-версии MVC 3 Есть разница между шаблонами MVC 3 частичная страница (бритва) и MVC 3 просмотр страницы с макетом (бритва) ?

Я добавил частичную страницу (_partialList) в свое приложение. Теперь, когда я возвращаю только частичное представление, он применяет макет, присутствующий в _ViewStart.cshtml-действует очень похоже на страницу просмотра stardard с макетом.

    if (Request.IsAjaxRequest())
        return View("_partialList", someModelData);

как" частичная " страница отличается от стандартной страницы представления с помощью макет ? Будут ли они вести себя по-разному в любом конкретном сценарии?

5 ответов


Дарин-х решает вашу практическую проблему нежелания применять макет.

Что касается разницы между ними, в Razor они практически одинаковы, потому что как полные страницы, так и частичные используют одно и то же расширение и имеют один и тот же базовый класс.

причина, по которой существует другой пользовательский интерфейс, заключается в том, что в движке просмотра веб-форм они реализованы с разными расширениями и разными базовыми классами, поэтому необходимо разделить шаблоны необходимы.


Если вы не хотите применять макет, верните PartialView вместо View:

if (Request.IsAjaxRequest())
    return PartialView("_partialList", someModelData);

добавьте следующий код на свою страницу, и двигатель не применять к нему шаблон.

@{
    Layout = null;
}

вид у этого @{ Вид.Title = " Индекс"; Layout = " ~ / Views / Shared / _Layout.cshtml по"; }

и частичные представления не


Я не думаю, что есть какая-то разница.