Если вы указали свойство Макет внутри своего содержимого, нет никакой разницы. При возврате 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()
.
спасибо, теперь мне все ясно – user584018
@ user584018, вы должны прочитать ответ в ссылке для уточнения – MstfAsan