Como incluir o jQuery na página do asp.net?

Eu tenho um asp.netUserControl isso requer que a página de contenção inclua uma referência ao jquery.

Nos tempos antigos, eu simplesmente incluía uma referência ao jQuery na página de contenção:

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

Mas a dependência do meu UserControl em jQuery é um detalhe de implementação interna, que não deve vazar para o exterior. Como o meu userControl pode ditar que o jQuery seja incluído na página final?

Pesquisando isso, eu encontrei muitas soluções confusas, chamando diferentes funções em diferentes momentos. eu hesito em mencionarqualquer deles, porque as pessoas podem pensar que qualquer um deles é válido. Eu estou esperando pelocorrigir resposta, não uma resposta que funciona.

Diferentes soluções envolvem a chamada:

chamandothis.Page.ClientScript.RegisterClientScriptInclude duranteRenderchamandothis.Page.ClientScript.RegisterStartupScript duranteRenderchamandothis.Page.ClientScript.RegisterStartupScript durantePage_Loadchamandothis.Page.ClientScript.RegisterStartupScript durante um clique de botãochamandoPage.Header.Controls.Add(new LiteralControl( { Text = "<script type=\"text/javascript\" src=\"...\"></script>";);simplesmente incluindo um<SCRIPT> elemento em seuuserControl.ascx ArquivochamandoRegisterClientScriptBlock duranteOnPreRender

Minha confusão está centrada em torno de:

quando eu iria querer usarRegisterClientScriptInclude vsRegisterStartupScript?quando eu iria querer chamá-lo durantePage_Load vsRender vsPreRender vs um clique de botão?como eu douRegisterXxxxScriptXxx o caminho para"Scripts/jquery-1.7.2.min.js"?

Versão resumida: Como faço para converter

<%@ 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>

para uso em um UserControl:

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

questionAnswers(4)

yourAnswerToTheQuestion