Объединение определений разделов на странице - PullRequest
1 голос
/ 24 июня 2011

У меня есть страница:

@Html.Action("Index", "Product")
@Html.Action("Index", "Vendor")

оба они содержат:

@section Head {
...
}

и (конечно), мой файл макета содержит:

<head>
...
@RenderSection("Head", required:false)
</head>

идея заключается в том, что каждая страница, которая имеет что-то для головы (например, включает в себя javascript, css и т. д.), может сделать это через раздел.Проблема в том, что только одно определение на страницу кажется разрешенным.Как это вообще обрабатывается?

Ответы [ 2 ]

0 голосов
/ 26 июня 2011

Я не смог найти хороший способ сделать это, поэтому вместо этого я добавил в базовую ViewModel свойства, которые будут содержать информацию, необходимую для перехода в <head>, а затем иметь RenderPartial ("Head") вмой макет страницы.Таким образом, вещи тоже немного более строго набраны, чем просто добавление какой-либо страницы в случайный мусор:

// Views/Shared/Head.cshtml
@model ViewModel
@foreach (var site in model.AuthorSites)
{
    <link rel="me" type="text/html" href="@site" />
}
0 голосов
/ 24 июня 2011

Я бы не рекомендовал использовать Section в результатах RenderAction, так как он обычно используется для просмотра страниц, а не для частичных.

Было бы лучше иметь следующее на странице макета вашего хостинга:

@section Head {
  @Html.Action("foo")
  @Html.Action("bar")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...