2015-08-15 4 views
1

Я знаю разницу между видом и PartialView, но есть ли разница здесь ниже кода (как и вернуть вид с ожидаемым результатом),В чем разница между Partial View & View?

1.

public ActionResult Index() 
    { 
     return View(); 
    } 

2.

public ActionResult Index() 
    { 
     return PartialView(); 
    } 

ответ

5

Если вы указали свойство Макет внутри своего содержимого, нет никакой разницы. При возврате View(), ViewStart.cshtml выполнена, но при возвращении PartialView(), ViewStart.cshtml не executed.So, когда вид не установлен макет имущества, return View() может принять макет из Viewstart.cshtml но вернуть PartialView() cannot.For больше информации Rendering difference between PartialView() and view()

Если ваш content.cshtml содержит этот блок кода, они одинаковы и генерируют представление, завернутое в указанный макет.

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

Если Content вид не определяет макет, return View() получает свое свойство Layout из ViewStart.cshtml и генерирует вид завернутого в макете. Но return PartialView() генерирует только представление содержимого, потому что Viewstart.cshtml не выполняется, когда вы return PartialView().

+0

спасибо, теперь мне все ясно – user584018

+0

@ user584018, вы должны прочитать ответ в ссылке для уточнения – MstfAsan

0

View вернет макет с учетом содержания. Только для неполных возвратов

+0

спасибо! – user584018