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 :

Générer du code html ASCX


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 79
    Points : 46
    Points
    46
    Par défaut Générer du code html ASCX
    Bonjour,

    Je me demandais s'il était possible de créer un control ascx pouvant inclure du html dans la balise?

    Par exemple:

    Mon controle "moncontrol"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="wrapper">
        <div id="head"></div>
        <div id="content"></div>
    </div>
    Ma page principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <moncontrol:MonControl id="test">
    Du code html
    </moncontrol:MonControl>
    Donc je voudrais que le code html se retrouve dans le div "content" du controle. C'est vraiment un exemple banale, mais c'est ce que je voudrais pouvoir faire.

    Merci

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    C'est facilement vérifiable, tu n'as pas essayé?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    J'ai tenté de mettre du html dans ma balise, mais j'obtient une erreur. Et comment peut-it deviner que le code contenu dans la balise doit être "parser" dans le div "content".

    Je voudrais que ceci, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <moncontrol:MonControl id="test">
        <input type="text" name="test" />
        <input type="button" name="button" />
    </moncontrol:MonControl>
    Devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="wrapper">
        <div id="head"></div>
        <div id="content">
             <input type="text" name="test" />
             <input type="button" name="button" />
         </div>
    </div>
    Autrement dit, je voudrais qu'il copie tout le code html contenu entre les 2 balises dans la balise div "content".

    Est-ce possible, si oui comment?

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Les données circulent entre les objets par leurs propriétés/méthodes. Il suffit donc que ton user contrôle présente une propriété publique comme "ContenuDivContent".

    Tu es en train de recréer un PlaceHolder quoi... Je vois pas trop l'intérêt.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 79
    Points : 46
    Points
    46
    Par défaut
    Peut-être en expliquant réellement ce que j'essaie de faire peut-être pourrais-tu me pointer dans la bonne direction . Je suis un gros débutant dans les ASCX.

    Je veut mettre de l'ombre sous mes contrôle. Pour l'instant j'utilise des images en background. Je veux par contre que tout cela soit dynamique peu importe la dimension du div. J'ai réussi pour l'instant avec un height de 50px. Le width peut être de n'importe quelle longueur. Voici à quoi cela ressemble dans mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="leftSh" class="shCorner shLeft">
    </div>
    <div id="centerSh" class="shCenter">
            Je met ici tous mes contrôle, button, combobox, input, etc...
    </div>
    <div id="rightSh" class="shCorner shRight">
    </div>
    Et mon CSS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    .shCorner
    {
        width: 10px; 
        height: 50px; 
        float: left;
    }
     
    .shLeft
    {
        background: url('../Images/left-sh.png') no-repeat;
    }
     
    .shRight
    {
        background: url('../Images/right-sh.png') no-repeat;
    }
     
    .shCenter
    {
        background: url('../Images/center-sh.png') repeat; 
        height: 50px; 
        float: left; 
        text-align: center; 
        line-height: 40px;
        padding-right: 10px;
        padding-left: 10px;
    }
    De cette façon, j'arrive à ce résultat:



    Je veux donc me créer un control pour éviter de toujours réécrire les DIVs.

    Donc j'aimerais avoir quelque chose dans ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <uc:borderShadow><input type="text" name="test" /></us:borderShadow>
    Où lors de "render" le code ressemblerait à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="leftSh" class="shCorner shLeft">
    </div>
    <div id="centerSh" class="shCenter">
            <input type="text" name="test" />
    </div>
    <div id="rightSh" class="shCorner shRight">
    </div>
    Je ne sais pas s'il existe une meilleure façon de mettre ce genre d'ombre, mais c'est la seul que j'ai trouver. S'il y a une meilleure alternative, je serais ravis de l'utiliser.

    Merci d'avance.

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Ah ok, c'est plus clair. A vue de nez tu devrais chercher du côté d'un "web custom control" dérivé du contrôle Panel.

    Tu devrais pouvoir utiliser la méthode RenderContents pour ajouter tes div.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Générer du code HTML
    Par k3vin dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2009, 09h19
  2. Générer le code html d'un formulaire
    Par bigey3 dans le forum Langage
    Réponses: 2
    Dernier message: 24/12/2007, 12h43
  3. Générer du code HTML avec Delphi
    Par [DreaMs] dans le forum Web & réseau
    Réponses: 4
    Dernier message: 14/12/2007, 09h40
  4. Générer du code HTML
    Par cotede2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/04/2007, 22h22
  5. Générer du code HTML
    Par patpst dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/11/2002, 10h27

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