Где написать скрипт jQuery на странице ASP.NET?

0

Я работаю в 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 на одну страницу?

Теги:

3 ответа

3
Лучший ответ

Что вам нужно сделать, так это изменить главную страницу вашего сайта, чтобы иметь местозаполнитель содержимого в главном разделе главной страницы. Затем на вашей обычной странице 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

  • 0
    Спасибо всем большое за вашу помощь. Что касается лучшей производительности для размещения сценария в нижней части страницы, вы имеете в виду, что раздел asp: Content Head должен быть после раздела asp: Content MainContent?
  • 0
    Это означает, что заполнитель содержимого на главной странице должен находиться внизу главной страницы, но перед тегом закрытия формы
Показать ещё 3 комментария
1

Вы можете поместить Jquery в asp:content например:

<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">

<script>
//Your Jquery
</script>
</asp:Content>

Единственное, что вам нужно будет зарегистрировать Jquery libray на главной странице страницы.

Надеюсь, это поможет.

0

Вы можете добавить его программно, как это, из функции page_load:

HtmlGenericControl include = new HtmlGenericControl("script"); 
Include.Attributes.Add("type", "text/javascript"); 
Include.Attributes.Add("src", yourUrl); 
this.Page.Header.Controls.Add(include);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню