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 № 1Essayez 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);
}
}