Как включить jQuery на странице ASP.net?

у меня есть ASP.netUserControl который требует, чтобы содержащая страница содержала ссылку на jquery.

В прежние времена я просто включил бы ссылку на jQuery на странице, содержащей ее:

<HEAD>
   <SCRIPT type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></SCRIPT>
</HEAD>

Но зависимость моего UserControl от jQuery - это внутренняя деталь реализации, которая не должна просачиваться наружу. Как мой userControl может указывать, что jQuery будет включен в последнюю страницу?

Изучая это, я нахожу много запутанных решений, вызывающих разные функции в разное время. стесняюсь упомянутьлюбо из них, потому что люди могут подумать, что любой из них действителен. я надеюсь направильны ответ, а не ответ, который работает.

Различные решения включают вызовы:

звонокthis.Page.ClientScript.RegisterClientScriptInclude в течениеRender звонокthis.Page.ClientScript.RegisterStartupScript в течениеRender звонокthis.Page.ClientScript.RegisterStartupScript в течениеPage_Load звонокthis.Page.ClientScript.RegisterStartupScript во время нажатия кнопки звонокPage.Header.Controls.Add(new LiteralControl( { Text = "<script type=\"text/javascript\" src=\"...\"></script>";); просто включая<SCRIPT> элемент в вашемuserControl.ascx фай звонокRegisterClientScriptBlock в течениеOnPreRender

Моя путаница сосредоточена вокруг:

когда бы я хотел использоватьRegisterClientScriptInclude противRegisterStartupScript? когда бы я хотел позвонить во времяPage_Load противRender противPreRender против нажатия кнопки? как я могу датьRegisterXxxxScriptXxx путь к"Scripts/jquery-1.7.2.min.js"?

Короткая версия: Как мне конвертировать

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
    Inherits="_Default" %><!DOCTYPE html>
<html>
<head runat="server">
    <script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>

для использования в UserControl:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MySuperCoolControl.ascx.cs" Inherits="Controls_MySuperCoolControl" %>

Ответы на вопрос(4)

Ваш ответ на вопрос