2012-09-21 4 views
0

Je crée plusieurs lignes de contrôles par programme; chacun contenant une case à cocher et une zone de texte.Identification d'un contrôle spécifique créé par programme

Je voudrais d'une manière ou d'une autre identifier l'identifiant d'une case à cocher afin de savoir quelle zone de texte supprimer. Quelle serait la meilleure façon d'aborder cela?

+0

Pouvez-vous écrire le code ici? Vous pouvez supprimer en utilisant l'objet utilisé pour créer la case à cocher. var obj = new CheckBox(); –

Répondre

1

Vous pouvez créer une sorte de modèle de nommage, par exemple "cbx- [numéro ligne]" pour la case à cocher et "txt- [numéro ligne]" pour la zone de texte. De cette façon, vous aurez un tas de commandes nommées "cbx-1, cbx-2, cbx-3" et des zones de texte correspondantes nommées "txt-1, txt-2, txt-3". Trouver un "txt-X" correspondant à "cbx-X" devrait être assez simple.

EDIT: Vous pouvez utiliser System.Web.UI.FindControl (chaîne) pour rechercher un contrôle par son attribut id.

+0

Cela semble définitivement flexible. Je vais essayer ça. – AquaGeneral

1

Vous créez le contrôle, de sorte que vous avez le contrôle sur son nom. Donnez-lui un GUID ou une numérotation séquentielle de votre fabrication.

Mais ... peut-être que le problème est celui de la propriété. Votre question implique que vous ne pouvez accéder au contrôle que par son nom. Puisque vous l'avez créé de manière grammaticale, cela implique que vous avez une référence à celui-ci. Gardez donc une référence aux contrôles que vous créez.

Maintenant, perçant l'application, si vous souhaitez la supprimer, cela implique que vous savez déjà ce qu'il faut supprimer, ce qui soulève la question: pourquoi avez-vous besoin d'un nom?

Désolé si ce ne sont pas les réponses de votre après mais j'espère qu'ils posent des questions utiles sur la conception.

+0

Merci de me poser ces questions. J'ai tendance à ne pas me poser assez de questions, bonne chose que vous avez fait :) – AquaGeneral

Questions connexes