Все сценарии отлично работали, когда у меня было просто представление. И когда я попытался разбить его на макет и частичное представление - скрипты больше не работали. Пожалуйста, ответьте на вопросы:
1) где должны быть размещены ссылки? В представлении или в _layout? Если в макете, я должен использовать
@Scripts.Render()
или просто
<script src="~/Scripts/jquery-1.7.1.js"></script>
2) Где должны быть размещены сценарии? В представлении или в _layout? В голове или внутри тела?
Или я могу так: разместить сценарии в
@section Scripts{ }
а затем в макете
@RenderSection("Scripts", false)
??
Извините за глупые вопросы :)
Вы можете сделать следующее в _layout.cshtml
@Scripts.Render( "~/связки /bundlename")
где bundlename - это имя пакета при вызове RegisterBundles. Кроме того, вы можете сделать следующее:
@RenderSection ("скрипты", обязательно: false)
Кроме того, для работы разместите свои js-пакеты в нижней части страницы.
Я думаю, это зависит от того, как используется сценарий. JQuery, я положил на страницу макета, потому что я, вероятно, буду использовать его на всех страницах. Если функция специфична для представления или частичного, то я могу создать отдельный файл сценария для этого представления или частичный.
Я также предпочитаю использовать @Scripts.Render, потому что это сделает для меня минимализацию, просто убедитесь, что вы не ссылаетесь на файлы.min, потому что они игнорируют их. Таким образом, вы можете иметь javascript файлы, которые вы можете прочитать во время отладки, и система их минимизирует для вас в вашей рабочей среде.