Come includere jQuery nella pagina ASP.net?




user-controls (3)

Ho un UserControl ASP.net che richiede che la pagina contenente includa un riferimento a jquery.

In passato avrei semplicemente incluso un riferimento a jQuery nella pagina contenente:

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

Ma la dipendenza del mio UserControl da jQuery è un dettaglio di implementazione interno, che non dovrebbe perdere all'esterno. Come può il mio userControl imporre che jQuery sia incluso nella pagina finale?

Alla ricerca di questo, trovo molte soluzioni confuse, chiamando diverse funzioni in tempi diversi. esita a menzionarne qualcuno , perché la gente potrebbe pensare che qualcuno di loro sia valido. spero nella risposta corretta , non in una risposta che funzioni.

Diverse soluzioni implicano la chiamata:

La mia confusione è incentrata su:

  • quando vorrei usare RegisterClientScriptInclude vs RegisterStartupScript ?
  • quando PreRender chiamarlo durante Page_Load vs Render vs PreRender vs un clic del tasto?
  • come "Scripts/jquery-1.7.2.min.js" dare a RegisterXxxxScriptXxx il percorso di "Scripts/jquery-1.7.2.min.js" ?

Versione breve: come faccio a convertire

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

per l'uso in un UserControl:

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

https://code.i-harness.com



[questo è rilevante solo se il controllo utente deve essere utilizzato internamente. Se è per la distribuzione, non sarà di grande aiuto]

Dai un'occhiata a questo link:

http://www.codeproject.com/Articles/196727/Managing-Your-JavaScript-Library-in-ASP-NET

L'articolo suggerisce di creare metodi per generare riferimenti a librerie javascript come jQuery, in modo che, se si desidera utilizzarlo in una pagina, si chiami JavascriptLoader.IncludeJQuery () o qualsiasi altro metodo chiamato.

Ora quello che ho fatto è fare un ulteriore passo avanti creando questi metodi in un assembly che ho inserito nel GAC in modo che sia disponibile per tutte le mie applicazioni web .net. Ora, ovunque io voglia usare jQuery, quel metodo è già disponibile. La cosa migliore è che se chiamo il metodo in un controllo utente e lo chiamo di nuovo in un altro controllo utente, e di nuovo nella pagina, registra ancora una volta la libreria. Se decido di eseguire l'aggiornamento a una versione più recente di jQuery, cambio semplicemente la mia DLL, e viene cambiata ovunque.


Puoi utilizzare jquery ospitato su google come segue:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>




user-controls