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 :

WebUserControl: méthode pour permettre de combiner plusieurs fois le même contrôle dans une page


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut WebUserControl: méthode pour permettre de combiner plusieurs fois le même contrôle dans une page
    Bonjour,

    je débute en ASP.NET et j'ai commencé avec un web user control qui contient plusieurs contrôles serveur et du javascript.

    Il fonctionne bien si la page n'en contient qu'une instance. Mais évidemment, ça ne va plus à partir de deux, car le javascript et le code-behind se basent sur l'id des contrôles serveur.

    Quelle est la "bonne" façon de faire pour permettre d'utiliser plusieurs instances d'un tel contrôle ? Dois-je moi-même gérer les noms de façon aléatoire et dynamique (ça me parait être un gros travail) ?


    Merci d'avance pour tout début de réponse.

    Bonne journée

  2. #2
    Membre expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Points : 3 543
    Points
    3 543
    Par défaut
    Tu peux te reposer sur le mécanisme de création des ID d'ASP.NET (qui s'assure que chaque contrôle à un ID unique). Comme ces ids sont générés dynamiquement, tu peux les référencer dans ton javascript via la propriété ClientID du contrôle.

    Exemple : plutôt que de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var _monControle = document.getElementById("monidendur");
    tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var _monControle = document.getElementById('<%=MonControle.ClientID %>');
    Les scripts injectés doivent donc être basés sur des variables pour que les appels de fonctions puissent être écrits en passant l'id du contrôle concerné et que ces appels soient générés par ton contrôle utilisateur.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Points : 119
    Points
    119
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. [Plugin] Utiliser plusieurs fois je même jqgrid dans une page
    Par Christophe Charron dans le forum jQuery
    Réponses: 0
    Dernier message: 06/10/2012, 17h26
  2. [CR 10] Imprimer plusieurs fois le même état sur une seule page
    Par Shell32 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/04/2010, 11h41
  3. repeter plusieurs fois le meme script dans une page
    Par juju03 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 02/07/2008, 11h22
  4. Plusieurs fois la même donnée dans une liste
    Par BRUNO71 dans le forum IHM
    Réponses: 3
    Dernier message: 21/01/2008, 08h22
  5. Plusieurs fois le même .class dans le jar
    Par kenny6 dans le forum Général Java
    Réponses: 7
    Dernier message: 25/04/2007, 16h42

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