/ / Créer dynamiquement des contrôles dans aspx? - c #, asp.net

Créer dynamiquement des contrôles dans aspx? - c #, asp.net

J'essaie plusieurs façons de créer quelques contrôles dans une page .aspx "code-behind. J'ai ces problèmes:

1) nom de chaque composant
2) lieu de ces composants
3) accès à ces composants dans l'événement de méthode ou totalement dans le code derrière

Je veux créer quelques <asp:textbox> et mettez-les dans les lignes de la table. Je voudrais ensuite obtenir la valeur de ces zones de texte et faire quelque chose avec elles.

Réponses:

2 pour la réponse № 1

Essayez cette démo sur Conservation de l'état des contrôles créés dynamiquement dans les applications ASP.NET.

C’est une démonstration très simple sur la façon d’ajouter un contrôle à une page et de faire en sorte que les publications ultérieures reconnaissent vos modifications précédentes. En gros, le nombre de zones de texte est enregistré dans. ViewState. Il "boucle pour créer n zones de texte.

Vous pouvez modifier à votre guise les différents contrôles et schémas de nommage. Vous pouvez changer pour utiliser Session aussi, si vous aimez.

Une modification que vous voudrez peut-être:

private void createControls()
{
int count = this.NumberOfControls;

for(int i = 0; i < count; i++)
{
TextBox tx = new TextBox();
tx.ID = "ControlID_" + i.ToString();

//Add the Controls to the container of your choice
MyContainer.Controls.Add(tx);
}
}