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 :

ASP.NET - "composant HTML" param�trable et r�utilisable


Sujet :

ASP.NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2003
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 2
    Par d�faut ASP.NET - "composant HTML" param�trable et r�utilisable
    Bonjour,

    Je cherche � cr�er proprement un "genre de classe" qui repr�senterai un objet HTML que je puisse inclure de mani�re dynamique un certain nombre de fois dans le corps d'une page. Exemple:

    Une page pr�sente une liste de produits, le client peut choisir d'en afficher 10, 20 ou 50.

    Un produit se pr�sente en HTML sous la forme :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <div id="produitX">
       <img src="imgX" />
       <p>descriptionX<p>
    </div>
    J'aimerai pouvoir faire dans le code-behind de ma page quelque chose du genre:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    for (i=0 ; i<20 ; i++)
    {
       MonProduit = new C_Produit(idProduit); // Impossible à faire avec un userControl
       MonProduit.Print(); //Pour simplifié...
    }
    Les userControls font se genre de chose, mais impossible de les initialiser de cette mani�re...

    Comment faire cel� proprment ?
    Merci pour vos suggestions...

  2. #2
    R�dacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par d�faut
    En effet, �a marche pas lorsque que tu utilises un usercontrol avec un param�tre dans le constructeur.
    Mais tu peux faire un truc dans le genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    for (i=0 ; i<20 ; i++)
    {
       MonProduit = new C_Produit(); 
       MonProduit.IdProduit = idProduit;
       MonProduit.LoadData(); // Fais la meme chose que le constructeur avec un parametre
       MonProduit.Print(); //Pour simplifi�...
    }

  3. #3
    Membre confirm�
    Profil pro
    D�veloppeur Web
    Inscrit en
    Septembre 2007
    Messages
    173
    D�tails du profil
    Informations personnelles :
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Septembre 2007
    Messages : 173
    Par d�faut
    Tu pourrais aussi mettre ton user controle dans un repeater ou controle de ce genre par exemple.

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Juin 2003
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 2
    Par d�faut
    Merci de vous pencher sur mon probl�me et d�sol� pour ma r�ponse tardive, mais j'ai cru que mon message avait �t� effacer alors qu'il a simplement �t� d�plac� (�a me rassure ).

    Citation Envoy� par lutecefalco Voir le message
    Mais tu peux faire un truc dans le genre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    for (i=0 ; i<20 ; i++)
    {
       MonProduit = new C_Produit(); 
       MonProduit.IdProduit = idProduit;
       MonProduit.LoadData(); // Fais la meme chose que le constructeur avec un parametre
       MonProduit.Print(); //Pour simplifi�...
    }
    Mon probl�me avec �a est que j'ai l'impression que je dois pr�voir l'endroit et le nombre de fois o� mon UserControl sera utilis�, directement dans le fichier aspx.


    Alors que je voudrais pouvoir faire quelque chose de genre :

    Dans l'.aspx
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <div>
        <!-- A remplacer -->
    </div>
    Puis dans mon code-behind:
    Remplir le div par le code de mon "composant html" (UserControl ?) autant de fois que souhait� par le client.


    Je pourrais, �galement, �crire le tout dans une classe qui retournerait dans une m�thode Print() le code HTML directement, ex:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Ma_Class
    {
       ...
       public string Print()
       {
          string tmp;
     
          tmp = "<h2>" & nomProduit & "</h2>";
          tmp += ... // La suite du code HTML de présentation de mon produit
     
          return tmp;
       }
    }
    Mais je trouve pas cela tr�s propre et je pense qu'il doit exister un m�canisme pour r�gler ce probl�me, qui me semble quand m�me tr�s courant.

    @nasimpat7 => Je vais aller voir du c�t� des controls repeater.

    Encore merci pour vos conseils.

Discussions similaires

  1. Quote et double quote dans les requ�tes param�tr�es
    Par michel.souris dans le forum WinDev
    R�ponses: 5
    Dernier message: 07/06/2013, 10h27
  2. Site ASP.NET privilege composant par r�le
    Par jowsuket dans le forum ASP.NET
    R�ponses: 1
    Dernier message: 09/12/2010, 17h45
  3. R�ponses: 10
    Dernier message: 03/12/2009, 21h45

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