2 votes

Organiser dynamiquement des contrôles créés sur un formulaire web

Je suis un débutant en matière de développement de sites web. J'aimerais créer un formulaire web qui contiendrait des contrôles définis dans un fichier XML. Cela signifie que je vais lire le fichier XML dans la fonction Page_Load et créer dynamiquement et nommer tous les contrôles tels que définis dans le fichier. Cela semble être très facile.

J'ai cependant un autre problème, à savoir la mise en page. Lorsque j'ajoute un nouveau contrôle à mon formulaire, il est placé à côté du contrôle qui a été créé précédemment. Comment puis-je les placer l'un en dessous de l'autre ou mettre des espaces avant et entre eux? J'ai pensé que l'utilisation du contrôle PlaceHolder m'aiderait, mais je n'ai trouvé aucune propriété qui changerait la position des contrôles parentés par celui-ci.

Voici comment je crée un seul contrôle :

Label lbl = new Label();
lbl.ID = "lbl";
lbl.Text = "Test";
PlaceHolderMain.Controls.Add(lbl);

Merci pour votre aide,

Mariusz.

5voto

CertifiedCrazy Points 885

Vous avez quelques options :

  1. Ajoutez des contrôles supplémentaires tels qu'un Contrôle Literal où le texte est le HTML que vous voulez tel qu'une baliseou nbsp; entre les contrôles qui ont été ajoutés.
  2. Avoir plusieurs contrôles Placeholder pour chaque section appropriée.
  3. Utilisez CSS pour positionner les contrôles où vous le souhaitez. Je ne suis pas un expert en CSS, mais cela peut être fait, mais cela nécessite une compréhension de la position CSS.
  4. Ajoutez les contrôles dans un contrôle parent tel qu'un tableau afin de pouvoir ajouter les contrôles dans une cellule de tableau dans une ligne. Cela signifierait créer des lignes et des cellules à ajouter au tableau, mais cela vous donnerait plus de contrôle sur la mise en page.

J'espère que cela vous donne quelques idées qui peuvent vous aider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X