Я работаю в VS2012 по проекту ASP.NET Web Forms. В проекте есть страница Site.Master, которая используется для всех страниц. Я могу добавить скрипт на Site.Master, где я могу написать функцию jQuery; без проблем. Но как и где вы размещаете скрипт iQuery, если я хочу его на определенной странице проекта? Страница (потому что она использует Site.Master) не имеет раздела Head, но имеет только один раздел:
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
Если я пишу сценарий перед указанной строкой, я получаю проблему VS "Только элементы управления содержимым разрешены непосредственно на странице contect..."
Итак, где бы я поместил скрипт jQuery на одну страницу?
Что вам нужно сделать, так это изменить главную страницу вашего сайта, чтобы иметь местозаполнитель содержимого в главном разделе главной страницы. Затем на вашей обычной странице aspx, которая использует главную страницу, помещается объект asp: content, а затем в объект контента помещает ваш javascript-код.
Таким образом, вам понадобится в главной странице главной страницы:
<asp:ContentPlaceHolder ID="head" runat="server" />
и на странице aspx:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
Но если вы ищете лучшую производительность, я бы поставил ваши скрипты в нижней части страницы. Вы можете прочитать об этом здесь: http://developer.yahoo.com/performance/rules.html#js_bottom
Вы можете поместить Jquery
в asp:content
например:
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<script>
//Your Jquery
</script>
</asp:Content>
Единственное, что вам нужно будет зарегистрировать Jquery libray на главной странице страницы.
Надеюсь, это поможет.
Вы можете добавить его программно, как это, из функции page_load:
HtmlGenericControl include = new HtmlGenericControl("script");
Include.Attributes.Add("type", "text/javascript");
Include.Attributes.Add("src", yourUrl);
this.Page.Header.Controls.Add(include);