Лучший подход: заполнители контента Mutliple в MVC - PullRequest
2 голосов
/ 09 сентября 2011

Я конвертирую проект веб-форм ASP.Net в MVC3. Главная страница содержит несколько заполнителей содержимого в разных местах.

Я заменил первый заполнитель содержимого на @RenderBody(), но меня смущает, что делать со вторым.

Один из подходов может состоять в том, чтобы разделить представления и поместить @Html.RenderAction() для каждого метода заполнителя контента. Есть ли лучший способ сделать это?

Ответы [ 2 ]

5 голосов
/ 09 сентября 2011

Вы можете использовать разделы. Например, чтобы иметь раздел для скриптов, в теге head файла layout.cshtml вы можете указать

<head>    
<title>@ViewBag.Title</title>    
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />    
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>    
@RenderSection("scripts", false);
</head>

Внутри любого представления вы можете добавить раздел сценариев для вставки ваших сценариев:

@section scripts{    
<script src="@Url.Content("~/Scripts/myscript.js")" type="text/javascript"></script>
}

параметр false указывает MVC визуализировать раздел, если он существует на дочерней странице, или ничего не делать, если нет вызова

5 голосов
/ 09 сентября 2011

Razor получил sections понимание вместо asp.net веб-форм ContentPlaceHolders. Взгляните на эту вводную ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...