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 :

USERCONTROL : recupérer le inner HTML


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Points : 38
    Points
    38
    Par défaut USERCONTROL : recupérer le inner HTML
    Bonjour,

    Peut-on récupérer le code dans un userControl de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <%@Register TagPrefix = "toolbar" TagName="a" Src="toolbar.ascx" %>
    ...
     
    <form id="form1" runat="server">   
    <toolbar:a ID="toolbar" runat="server">
          <div id="test">
            test
          </div>
    </toolbar:a>
    </form>
    ...
    le but étant de recupérer le code <div id="test">test</div> et de le recracher directement avec en plus un formulaire autour, bouton etc...
    je n'arrive déjà pas a avoir d'info là dessus... comment récupérer le html enfant etc...
    Faisable ?

    Merci.
    NZ

  2. #2
    Expert confirmé
    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 : 40
    Localisation : France

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

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

    Tu peux très bien rajouter un runat="server" à ton div afin de pouvoir y accéder dans le code-behind de ton UserControl. Ainsi tu pourras rajouter dynamiquement des contrôles. Mais dans ce cas, autant utiliser un Panel (qui génèrera un div dans la réponse HTML finale renvoyée au navigateur).

    A défaut, si tu veux travailler uniquement le HTML, tu dois regarder la méthode Render afin de gérer toi même le rendu HTML de ton contrôle.

    En espérant t'avoir aidé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Why not... mais comment !?
    A vrai dire, le problème n'est pas de travailler le HTML, juste de le récupérer / recracher, je ne trouve pas la propriété du controle Utilisateur qui me permet de récupérer ce code et de le placer au bon endroit dans ce controle (c'est juste du html simple que je veux afficher )
    je ne trouve nulle part d'exemple.
    Merci pour ta réponse au fait.
    NZ

  4. #4
    Expert confirmé
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Il faut chercher un peu plus par soi même. Avec les informations que je t'ai donné : méthode Render, une simple recherche Google t'aurait permis de trouver ces exemples de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //render control to string 
    StringBuilder b = new StringBuilder(); 
    HtmlTextWriter h = new HtmlTextWriter(new StringWriter(b)); 
    this.LoadControl("~/path_to_control.ascx").RenderControl(h); 
    string controlAsString = b.ToString();
    et ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    protected override void Render(HtmlTextWriter output) 
    {        
       output.Write("<br>Message from Control : " + Message);        
       output.Write("Showing Custom controls created in reverse" + 
                                                        "order");          
       // Render Controls. 
       RenderChildren(output); 
    }
    Pour aller plus loin, tu peux aussi lire ceci : Architectural Overview of Adaptive Control Behavior

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    C pas faute d'avoir cherché... et ton exemple est sympa mais ce n'est pas ce que je cherche.... Je pense qu'on ne parle pas de la même chose.
    Je comprends de moins en moins, et ça me parait bien trop compliqué, bref, j'abandonne cette idée de userControl
    Merci en tt cas.
    NZ.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    Non, ce que tu cherches n'est pas faisable de manière propre, il n'existe pas de MasterUserControl alors qu'il existe des MasterPage.

    La solution 'rapide mais dégueu' consiste à faire deux controles: l'un qui ouvre et un autre qui ferme..

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 50
    Points : 38
    Points
    38
    Par défaut
    Oui voilà ok, on s'est compris.
    LoL en effet c'est degueu ! mais bonne idée
    Merci !

    NZ

Discussions similaires

  1. Problème avec inner.html
    Par ghost69240 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/03/2010, 17h27
  2. recupérer le code Html d'une page Web
    Par comtention dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/09/2007, 21h03
  3. Recupération d'une variable dans inner.HTML
    Par Irad78 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2007, 13h51
  4. recupérer résultat d'une page HTML en flash
    Par Jérémy Lefevre dans le forum Dynamique
    Réponses: 1
    Dernier message: 16/01/2007, 12h30
  5. Recupérer du code HTML
    Par Taz_8626 dans le forum Langage
    Réponses: 10
    Dernier message: 19/04/2006, 10h31

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