IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[.Net 1.1] Ajouter du javascript depuis un UserControl


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Developpeur / Expert Technique
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur / Expert Technique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut [.Net 1.1] Ajouter du javascript depuis un UserControl
    Tout d'abord bonjour à tous...

    Voilà petit exposé rapide de la chose :

    J'ai un UserControl de menu qui possède en son sein du javascript. Le prncipe est simple : j'aimerai que au chargement de la page, le javascript contenu dans le control soit inséré dans ma page et que celui soit placé de préférance dans l' <head> de ma page (histoire de tout bien placé).

    Manque de bol, cela me résiste, donc je vous demande juste 5 secondes pour moi et m'aider à y comprendre un peu plus.

    En vous remerciant.

    (PS : Je suis framework 1.1 histoire de corsée la chose )

  2. #2
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Suivant ton besoin, tu peux utiliser les méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            this.Page.RegisterStartupScript();
            this.Page.RegisterClientScriptBlock();

  3. #3
    Membre à l'essai
    Profil pro
    Developpeur / Expert Technique
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur / Expert Technique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    En étant sur la dite page contenant l'user oui ça marche. Mais en étant dans le Code Behind de l'UserControl, cela ne fait rien du tout.

    Y'a-t-il une propriété à modifié pour que cela fonctionne? Car j'ai essayé d'intégré un script depuis la page mais même comme cela, il ne veut pas l'inséré... Une idée?

  4. #4
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut
    bonjour,

    As-tu mis un point d'arrêt sur la ligne où tu fais appel à RegisterClientScript ?

    Il n'y pas de raison pour que cela ne marche pas...
    A moins que ton UserControl soit appelé d'une manière un peu particulière ...

    Cette ligne this.Page.RegisterStartupScript("test", "<script>alert('work');</script>");
    dans le page_Load du UserControl ne peut que fonctionner !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Page.RegisterStartupScript("test", "<script>alert('work');</script>");        
        }
    et pour ajouter dans le Header de la page (en .NET 2.0 au moins) (toujours dans le Page_Load du UserControl) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        protected void Page_Load(object sender, EventArgs e)
        {        
            LiteralControl literalJavascript = new LiteralControl();
            literalJavascript.Text = "<script>alert('work');</script>";
            this.Page.Header.Controls.Add(literalJavascript);
        }

  5. #5
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Par défaut
    En .NET 1.1 :

    A condition que le Header de la page soit configuré ainsi (aspx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <head id="header" runat="server">
    ATTENTION : le Designer VISUAL STUDIO 2003 aura tendance à virer discrètement le runat="server" du HEAD !!!!!

    Dans le UserControl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		private void Page_Load(object sender, System.EventArgs e)
    		{
                                          System.Web.UI.HtmlControls.HtmlGenericControl head=(System.Web.UI.HtmlControls.HtmlGenericControl)this.Page.FindControl("header");
    			Literal literalJavascript = new Literal();
    			literalJavascript.Text = "<script>alert('work');</script>";
    			head.Controls.Add(literalJavascript);
    		}

  6. #6
    Membre à l'essai
    Profil pro
    Developpeur / Expert Technique
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur / Expert Technique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Merci à toi alain-abaprod pour ce petit bout de code qui à fait merveille ^^

    Pour ce qui est du non fonctionnement de la première solution elle est uniquement due à ma boulétise : le form de la page n'était pas présent, d'où le fait que le script n'est pu être intégré...

    En tout cas des deux méthodes, celle-ci ( avec le litteral ajouté au head ) reste meilleure (du point de vue sémentique je veux dire) : script dans le head et pas ajouté à l'arrache dans le code juste après le hidden.

    Enfin ce n'est que mon avis. Merci pour votre aide en tout cas ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une fenêtre Javascript depuis .Net
    Par Ishizaki dans le forum ASP.NET
    Réponses: 12
    Dernier message: 28/05/2008, 16h05
  2. Faire apelle a une fonction javascript depuis un onclick=&am
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/12/2005, 21h41
  3. Réponses: 8
    Dernier message: 28/10/2005, 09h21
  4. [vb.net] de l'usage je javascript
    Par new_wave dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/07/2005, 23h09
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo