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 :

appel Javascript from code behind


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut appel Javascript from code behind
    Bonjour ,

    j'ai un petit problème sur le site que je suis en train de faire concernant le javascript :

    Une de mes page fille contenant une carte(OpenStreetMap) générée via javascript.
    Sur cette carte je devrais pouvoir afficher des marqueurs selon une liste de latitude longitudes que je récupère via ma base de données.

    J'ai codé un petite fonction qui m'affiche un marqueur selon les coordonnées que je lui passe , et pour la tester j'avais placé un div dans ma MasterPage comme ceci et cela fonctionnait tres bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div style="background-color:green" onclick="addMarker(4.333,50.833)"> click to add a marker to the map</div>

    Le probleme c'est que j'aimerais que les différents marqueurs s'affichent lors de l'arrivée sur la page (donc sans cliquer sur un bouton ou autre ) mais je ne vois pas comment faire et a quelle étape du chargement de la page appeller la fonction javascript.

    Si vous pouviez m'aider ce serait sympa.
    Merci.

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour mirtouf,

    Si j'ai bien compris, tu souhaites au chargement de la page afficher les marqueurs déjà enregistrés en base ?

    Pourquoi ne pas utiliser l'évènement onLoad javascript pour appeler ta méthode addMarker ?
    Ou bien dans la méthode Page_Load (code-behind) de ta page : appeler ta base de données pour obtenir les marqueurs puis utiliser RegisterStartupScript ? (http://msdn.microsoft.com/en-us/libr...tupscript.aspx)

    En espérant t'avoir aidé.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut
    Oui c'est ce que je pensais faire mais je ne comprends pas comment utiliser ce
    ClientScript.RegisterStartupScript .
    C'est surtout un des parametres que je ne comprends pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ClientScript.RegisterStartupScript(Type type, string key, string script).
    Visual studio me dit que le premier parametre (Type type) doit etre :
    Type of the startup script to register
    Je me doute bien que c'est du javascript mais par quel ligne de commande lui faire comprendre ca ?

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Hello,

    Je viens de donner un exemple sur un autre post : http://www.developpez.net/forums/d88...e-code-behind/

    tu peux donc utiliser this.GetType() qui te renverra...le type Page bien entendu

  5. #5
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Par défaut
    Bon j'ai essayer et ca ne marche toujours pas donc je vais essayer d'être plus complet dans mes explications :

    Premier chargement de la page :
    **************************
    Sur ma page master j'ai un script qui contient une fonction InitMap qui est lancé via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body class="body" onload="initmap()">
    Dans cette fonction initmap je voudrais utiliser ma fonction addmarker en lui passant toutes les coordonnées GPS a afficher mais je ne sais pas comment je peut lui passer ces valeurs .
    Est-ce que je dois aller chercher les valeurs GPS (plus d'une centaine ) dans le script lui-même via un champ caché ou je ne sais quoi ou dois-je lui passer en paramètres et lancer cette fonction addmarker via le code behind?

    Une fois que la page est chargée :
    **************************
    Toujours sur ma page master ,l 'utilisateur peut cliquer sur un treeview ce qui a pour effet de charger une autre liste de coordonnées GPS .
    Mais lorsque je crée une méthode pour l'évènement click du treeview et que j'utilise la ligne de commande suivante la carte est effacée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.ClientScript.RegisterStartupScript(this.GetType() , "cle_test", "addMarker();", true);

    Je pris un screenshot du site pour que ce soit plus clair :



    NB : le treeview ainsi que la listbox se trouve sur la masterpage , le contentplaceholder ne contient que la map.

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    mirtouf,

    Déjà, tu te compliques la vie à gérer les fonctions JavaScript qui manipulent ta map dans la MasterPage, alors que ta map ne se trouve pas sur celle-ci mais sur une Page fille.

    Autant mettre cette partie sur la Page fille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body class="body" onload="initmap()">
    Evidément tu devras peut être transformer cela en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <asp:Content ID="Content1" ContentPlaceHolderID="c1" runat="server">
     
        <script type="text/javascript">
            function InitLoad() {
                .... Ce que tu veux...
            }
     
            window.onload = InitLoad;
         </script>
    Ensuite, pour aller chercher des données GPS, peut être qu'il vaudrait mieux appeller un WebService ou une WebMethode disponible dans le codebehind de ta Page directement via Javascript. Tu as un petit exemple ici avec du code à télécharger : http://amolwable.com/index.php/2009/...in-aspx-pages/ . Il y a évidement plusieurs manières de faire.


    Ensuite, concernant le chargement des coordonnées suite à un click sur le TreeView, tu peux tout à fait éviter un PostBack et te servir du JavaScript pour appeler ta WebMethod.

    En espérant t'avoir aidé.

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

Discussions similaires

  1. Appel de javascript par code behind
    Par Pynouz dans le forum ASP.NET
    Réponses: 9
    Dernier message: 19/09/2011, 13h39
  2. Réponses: 6
    Dernier message: 03/06/2008, 14h43
  3. Appellé une fonction javascript en code behind
    Par 0xYg3n3 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 17/10/2007, 15h02
  4. Google Map API --> Javascript et code behind C#
    Par bridel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/01/2007, 21h07
  5. [VB.NET]Javascript et code behind
    Par Dadou74 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/11/2006, 16h30

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