Wie binde ich jQuery in die ASP.net-Seite ein?

Ich habe ein ASP.netUserControl Dazu muss die übergeordnete Seite einen Verweis auf jquery enthalten.

Früher hätte ich einfach einen Verweis auf jQuery in die enthaltende Seite eingefügt:

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

Die Abhängigkeit meines UserControl von jQuery ist jedoch ein internes Implementierungsdetail, das nicht nach außen austreten darf. Wie kann mein userControl vorschreiben, dass jQuery in die letzte Seite aufgenommen wird?

Dabei finde ich viele verwirrte Lösungen, die zu unterschiedlichen Zeiten unterschiedliche Funktionen aufrufen. Ich zögere zu erwähnenirgendein von ihnen, weil die Leute vielleicht denken, dass jeder von ihnen gültig ist. Ich hoffe auf dierichtig Antwort, keine Antwort, die funktioniert.

Verschiedene Lösungen beinhalten das Aufrufen von:

Berufungthis.Page.ClientScript.RegisterClientScriptInclude währendRenderBerufungthis.Page.ClientScript.RegisterStartupScript währendRenderBerufungthis.Page.ClientScript.RegisterStartupScript währendPage_LoadBerufungthis.Page.ClientScript.RegisterStartupScript während eines KnopfklicksBerufungPage.Header.Controls.Add(new LiteralControl( { Text = "<script type=\"text/javascript\" src=\"...\"></script>";);einfach inklusive a<SCRIPT> Element in IhremuserControl.ascx DateiBerufungRegisterClientScriptBlock währendOnPreRender

Meine Verwirrung dreht sich um:

Wann würde ich verwenden wollenRegisterClientScriptInclude vsRegisterStartupScript?wann würde ich es während anrufen wollenPage_Load vsRender vsPreRender vs ein Knopfdruck?Wie gebe ichRegisterXxxxScriptXxx der Weg zu"Scripts/jquery-1.7.2.min.js"?

Kurzversion: Wie konvertiere ich

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

zur Verwendung in einem UserControl:

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage