Вот простой способ достичь своей цели.
В представлениях MVC Razor есть функция, называемая RenderSection. Имеет синтаксис вроде
@RenderSection ("occasionalScripts", false)
(случайный_скрипты - это название раздела, а значение false означает, что раздел является необязательным и может отображаться не на каждой странице.)
Вы хотели бы включить это в ваш _Layout.cshtml
, который Views\Shared
. Это позволит вашему основному шаблону сценария отображать раздел с определениями сценариев, если он определен для определенного представления.
Как правило, вы хотите поместить это внизу вашей страницы непосредственно перед закрывающим тегом </body>
. (Это лучший метод для повышения производительности.) Я бы перечислил все остальные мои скрипты (те, которые загружаются на каждой странице) прямо над ним. Причина в том, что порядок загрузки скриптов jQuery очень важен.
В каждом из ваших представлений, где у вас есть специальные сценарии, добавьте следующее:
@section occasionalScripts {
... put script references here
}
Если у вас есть представление, которое не требует специальных сценариев, вам не нужно включать этот раздел в него. false
на теге @RenderSection будет соответствовать любому представлению, где отсутствует тег @section
.
На каждой странице, где реализована эта функциональность, вы можете выбирать разные сценарии.
При желании вы можете указать несколько разделов для разных категорий файлов.