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
duranteRender
chamandothis.Page.ClientScript.RegisterStartupScript
duranteRender
chamandothis.Page.ClientScript.RegisterStartupScript
durantePage_Load
chamandothis.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" %>