Je travaille avec un système tiers pour implémenter certains formulaires dans un site Web.Le modèle correct pour transmettre des données aux contrôles enfants dans un contrôle serveur
Le système 3ème partie me fournit des définitions XML pour ces formulaires. par exemple. J'analyse ce XML dans un contrôle serveur et génère par programme un arbre de commandes. Les étiquettes des contrôles sont transmises dans le fichier XML.
Cela fait partie de notre proposition «d'injecter» de petits textes d'aide dans ce formulaire. Idéalement, je voudrais passer ces textes d'aide du balisage du contrôle de niveau supérieur pour que les non-développeurs (monkies HTML) puissent changer les textes d'aide, et les associer au champ par son ID. Quelque chose de tel
<controls:MyCrazyForm runat="server">
<helpTexts>
<helpText for="field_Dob">
Some rambling nonsense to do with the DOB field
</helpText>
...
</helpTexts>
</controls:MyCrazyForm>
Les contrôles sont analysés récursivement. Le formulaire crée un fieldset pour chaque segment, fieldsets crée plusieurs FieldXXX (où XXX = date, texte, liste déroulante etc) en fonction du type de données.
Les types FieldXXX créent un div puis plusieurs contrôles .net standard (TextBox, DropDownList, etc.) pour se rendre eux-mêmes. C'est à ce point, dans le div contenant que j'ai besoin de sortir le texte d'aide.
Ma question
Quelle est la « meilleure » façon d'obtenir ces textes de la commande de formulaire de niveau supérieur à ces contrôles enfants qui sont 3 ou 4 niveaux plus profonds dans l'arborescence de contrôle.
Il n'y aura jamais qu'un seul de ces formulaires sur une page. Est-ce que je devrais faire le niveau supérieur en Singleton et l'obtenir comme ça ...? Est-ce que je devrais passer une référence au formulaire dans chaque contrôle tout le long de l'arbre (cela semble désordonné)?
Suis-je des miles de la cible avec mon architecture de cette forme (bien que cela fonctionne vraiment bien pour le moment) et devrais-je envisager une autre méthode d'implémentation?
Merci
Merci Ozan. Votre solution me semble la plus propre. Cela me permet de tout garder à peu près tel quel et d'injecter le texte d'aide dans mon document XML principal. bon travail! –