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 :

[c#] Comment distinguer OnLoad asp.net du OnLoad JavaScript ?


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut [c#] Comment distinguer OnLoad asp.net du OnLoad JavaScript ?
    bonjour,
    je définis un contrôle dot net (il s'agit d'un panel qui contient d'autres contrôles dot net) de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:Panel ID="pnl_hospi" onload="MetTransparent('pnl_hospi')" runat="server" Height="50px" Width="953px">
     
    ... Contrôles dans le Panel ...
     
    </asp:Panel>
    Dans ce cas le onload désigne le onload asp.net.

    Mais je souhaite que ça soit le onload JavaScript qui déclenche la fonction MetTransparent.

    Si je remplace OnLoad par OnClientLoad, MetTransparent ne s'exécute jamais (vérifié avec mise d'un alert dedans).

    Comment fait-on pour désigner la fonction JavasScript OnLoad dans le code c# ?

    Merci
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Essai ça:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:Panel ID="pnl_hospi" onload="javascript:MetTransparent('pnl_hospi')" runat="server" Height="50px" Width="953px">
     
    ... Contrôles dans le Panel ...
     
    </asp:Panel>
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Merci Poulain,
    ça me génère une erreur de compilation :

    Message d'erreur du compilateur: CS1012: Trop de caractères dans le littéral de caractère

    Erreur source:



    Ligne 1095 : </table>
    Ligne 1096 : <strong>Si oui,</strong><br />
    Ligne 1097 : <aspanel ID="pnl_hospi" onload="javascript:MetTransparent('pnl_hospi')" runat="server" Height="50px" Width="953px">
    Ligne 1098 : <table style="width: 915px">
    Ligne 1099 : <tr>
    Je pense qu'il continue à considérer l'événement comme un événement serveur
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonsoir

    Je vais te proposer deux solutions autres avant de commenter ton problème .

    Au vue de ta fonction Javascript. Soit tu veux rendre invisible ton "Panel" Asp.net,et tu peux utiliser la propriété "Visible" de ce composant. Soit tu travailles sur la transparence Css, donc l'alpha, et là tu ne peux pas agir sur le composant Asp.net (sauf avec Atlas... ). Dans le second cas je te conseille de créer un "Div" Html remplaçant le panel....

    Pour l'erreur, ça ressemble bigrement à une exception javascript. Enfin le onLoad du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Panel ID="pnl_hospi" onload="javascript:MetTransparent('pnl_hospi')" runat="server" Height="50px" Width="953px">
    correspond effectivement au Load serveur du composant.

    Voilà en espérant avoir pu t'aider et n'hésites pas à donner le code Javascript si tes problèmes persistes

    Bonne soirée
    "Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")

  5. #5
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Citation Envoyé par mafyoso
    Bonsoir

    Je vais te proposer deux solutions autres avant de commenter ton problème .

    Au vue de ta fonction Javascript. Soit tu veux rendre invisible ton "Panel" Asp.net,et tu peux utiliser la propriété "Visible" de ce composant. Soit tu travailles sur la transparence Css, donc l'alpha, et là tu ne peux pas agir sur le composant Asp.net (sauf avec Atlas... ). Dans le second cas je te conseille de créer un "Div" Html remplaçant le panel....

    Pour l'erreur, ça ressemble bigrement à une exception javascript. Enfin le onLoad du code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Panel ID="pnl_hospi" onload="javascript:MetTransparent('pnl_hospi')" runat="server" Height="50px" Width="953px">
    correspond effectivement au Load serveur du composant.

    Voilà en espérant avoir pu t'aider et n'hésites pas à donner le code Javascript si tes problèmes persistes

    Bonne soirée
    Merci mafyoso,
    Je ne connais pas css ni Atlas, c'est peut-être une solution.

    Je vois que le panel dot net engendre un div html et, en effet, j'essaie de jouer sur le visible / not visible de ce composant, notamment au chargement de la page je voudrais qu'il soit not visible.

    J'essaie de creuser pour trouver le moyen d'exécuter une fonction html au chargement de la page (pas forcément du div en question) qui mettrait en not visible certains composants de la page.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    Bonjour

    Voilà comment jouer sur la visibilité d'un Panel (pas la transparence )

    Tu as dans ton code HTML un Panel comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
    </asp:Panel>
    Dans le Load de ta page (Code-Behind), tu rends ton Panel invisible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Panel1.Visible = False
    End Sub
    Enfin dans l'évènement qui va bien , tu le rends visible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Protected Sub MonEvenement(ByVal sender As Object, ByVal e As System.EventArgs) Handles MonEvenement
            Panel1.Visible = True
    End Sub
    MonEvenement peut etre un click bouton, un choix dans une liste ....

    Voilà

    A bientôt

    PS: La propriété "Visible" existe pour la quasi totalité des composants .Net.
    "Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")

  7. #7
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    On est tous d'accord, mais

    Citation Envoyé par Filippo
    Mais je souhaite que ça soit le onload JavaScript qui déclenche la fonction MetTransparent.
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  8. #8
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Mafyoso,
    c'était une bonne idée de mettre
    dans le Page_Load(), je n'y avais pas pensé. Mais comme en mettant le panel à visible=false directement dans sa définition dot net, ce Panel, enfin le div généré, dans la page html n'existe plus. On ne peut plus agir dessus dans l'html.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  9. #9
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Points : 459
    Points
    459
    Par défaut
    On est tous d'accord, mais
    Citation:
    Filippo a écrit :
    Mais je souhaite que ça soit le onload JavaScript qui déclenche la fonction MetTransparent.
    Merci,j'ai bien lu la demande . Néanmoins la seule solution est l'utilisation d'AJAX/Atlas. Vu ce que veut faire Filippo , ça me paraît un peu lourd .

    Enfin si tu y tiens Filippo, ça peut toujours se faire .

    Sinon je comprend pas vraiment ton dernier message? Le fait de mettre le Panel en invisible ne le supprime pas de la source HTML produite,si?

    Si c'est le cas je sèche , mais j'utilise cette technique avec les gridviews tout les temps et il me semble pas avoir eut ce problème.

    Bonne soirée
    "Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont forcément raison" (Bernard Weber "Le mystere des dieux")

  10. #10
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Si Mafyoso,
    si je mets un contrôle en visible=false dans le code dot net alors ce contrôle n'est pas généré dans le html.

    Voilà pourquoi je pensais le laisser en visible = true dans le code dot net et le mettre en visible = false dans le html, au chargement de la page.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 549
    Points : 556
    Points
    556
    Par défaut
    Bonjour,

    J'ai le même problème que toi depuis 2 jours
    Voici ce que j'ai trouvé.... J'ai pas encore fini mais çà à l'air de bien résoudre mon problème et donc le tien .;-))

    Quand tu mest du javascript, tu as sans doute d^faire un truc du genre
    <script language="javascript">, juste après cette ligne, tu rajoutes ceci :
    window.onload = TaFonctionAExecuter();

    Bon courage

  12. #12
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Ah, merci helios77,
    j'essaie dès que j'ai l'occasion
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  13. #13
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Ca marche.
    Merci.
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

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

Discussions similaires

  1. comment dessiner in asp.net ?
    Par windows2056 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/03/2012, 00h38
  2. Comment connecter du asp.net avec Oracle10g exp edition?
    Par Le futur programmeur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/03/2011, 14h20
  3. Comment copier un "asp.net website" projet ?
    Par azerty123450 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 21/12/2010, 17h18
  4. Comment réaliser Planning asp.net + ajax .
    Par lolymeupy dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/02/2010, 09h32
  5. [Asp.Net] exécuter fonction javascript
    Par ager1912 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/03/2007, 18h22

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