#asp.net-mvc-3 #asp.net-mvc-3-areas
#asp.net-mvc-3 #asp.net-mvc-3-области
Вопрос:
Я пытаюсь отобразить раздел, который определен в файле _layout, из моей пользовательской области.
В моей области у меня есть _ViewStart, который указывает на _layout в корневом сайте.
Раздел, который я пытаюсь использовать, находится в теге head, но в моей области он помещается в тело.
Страница, отображаемая на корневом уровне, работает нормально.
~/Views/Shared/_Layout.cshtml
<head>
@RenderSection("header", true)
</head>
<body>
....
</body>
~/Areas/UserMedia/Views/_ViewStart.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
~/Areas/UserMedia/Views/ManageProjectMedia.cshtml
@{
ViewBag.Title = "ManageProjectMedia";
}
@section header{
{
<!-- scripts and styles -->
}
<div>
... page content
</div>
Комментарии:
1. Любой код, который вы можете предоставить, был бы хорош.
Ответ №1:
В своем вопросе вы указали пример кода, путь ~/Views/_layout.cshtml
к которому и в вашем файле _ViewStart.cshtml в вашей области, у вас есть следующий код :
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Я уверен, что вы найдете здесь семь отличий
Семь отличий были шуткой, но в любом случае. Ваш _Layout.cshtml
находится под ~/Views/
, но вы ссылаетесь _Layout.cshtml
на то, что находится под ~/Views/Shared/
.
Комментарии:
1. разница в семи? Если вы имеете в виду _layout.cshtml и _Layout.cshtml, я пропустил это, когда обновлял вопрос.