Comment affecter une valeur de groupe de données à un élément HTML créé en C #?

J’ai un scénario dans lequel je dois faire glisser (ou masquer) conditionnellement des ensembles de contrôles / éléments. J’aime la réponse que j’ai trouvée ici dans QBM5 à propos de l’affectation de groupes de données aux contrôles qui peuvent être glissés (pardonnez ma grammaire) comme ceci:

 

… mais encore une fois, je crée ces contrôles via C #, et non pas du code HTML pur / direct. Je dois donc lui append cette propriété de groupe de données en quelque sorte par programme. Mais cette tentative avec une zone de texte (input, type = text):

 boxRequesterName = new TextBox { CssClass = "finaff-webform-field-input" }; boxRequesterName.DataGroup = 1; // Nice try, but there is no such property as "DataGroup" cellTxtbx_1.Controls.Add(boxRequesterName); dynamicTable.Rows.Add(row1); 

… ne fonctionnera pas, car il n’y a pas de propriété “DataGroup” sur la zone de texte.

Que puis-je faire pour append l’équivalent de data-group = “1” à mon contrôle?

Tout d’abord, veuillez noter que DataGroup ou data-group n’est rien prédéfini, c’est un atsortingbut HTML5 data- * qui peut être nommé comme vous le souhaitez.

Puisque vous travaillez avec ASP.NET et WebForms, vous pouvez utiliser la collection Atsortingbutes sur votre élément TextBox comme ceci:

 boxRequesterName.Atsortingbutes.Add("data-group", "1"); 

Voir sur MSDN WebControl.Atsortingbutes et AtsortingbuteCollection .