У меня есть проект Asp.net MVC, который скромно использует скрипты jQuery. Мои представления также отображают частичные представления, возвращаемые с использованием вспомогательных методов RenderPartial
или RenderAction
. Частичные представления обычно используются для инкапсуляции некоторого общего отображения, но они также могут иметь некоторые функции клиентского сценария. Мои javascripts имеют те же имена, что и представления, к которым они относятся.
Так что, если у меня есть частичное представление UserInformation.ascx
, у меня есть соответствующий UserInformation.js
файл. Большинство из этих файлов сценариев регистрируют функциональность для события DOM ready, поэтому они не будут выполнены немедленно.
Проблема в том, что эти сценарии добавляются в родительские представления. Поэтому, если определенное представление использует мое частичное представление, ему также необходимо добавить соответствующий файл сценария. Так что, если кто-то забудет добавить скрипт в главный вид, моя функция частичного просмотра не будет работать.
С точки зрения выполнения и скорости браузера (или любых других вопросов), лучше ли включать все сценарии в элемент заголовка XHTML, или это не имеет значения, если бы я ссылался на эти сценарии в своих частичных представлениях? Таким образом, я мог избежать человеческой ошибки, забыв добавить скрипт в представление? Я мог бы получить проблему ссылки на один и тот же файл сценария несколько раз. Особенно, если один и тот же фрагмент используется несколько раз в одном и том же виде.
Есть ли какие-либо различия, когда мы ссылаемся на скрипты внутри элементов HEAD или BODY?
Есть ли какие-либо проблемы, связанные с doctype (я использую XHTML Transitional)?
Какой шаблон наиболее распространен?
Было бы неплохо иметь какую-то функцию регистрации скриптов в Asp.net MVC, которая помешала бы мне загружать один и тот же файл скрипта несколько раз ...