2009-02-09 5 views
0

J'utilise un contrôle utilisateur personnalisé (que je n'ai pas l'autorisation de modifier) ​​qui rend le code HTML pour une table comme indiqué:Définition d'une classe css pour TD

<tr> 
    <td></td> 
    <td></td> 
</tr> 

Il me permet d'ajouter une contrôle dynamique dans les tags. Ma question est de savoir comment je définirais le style de la cellule pour la cellule de table. Normalement, je ferais <td class="myClass">. Comme je n'ai pas le code source pour le modifier, la solution de contournement que j'utilise est de créer un <div>, de définir la classe CSS et de l'ajouter au <td>. Le code ressemble à ceci:

HtmlGenericControl divControl = new HtmlGenericControl("div"); 
    divControl.Attributes.Add("class", "myClass"); 
    //Add a textbox to divControl. 
    //Add the divControl to the customized user control 

Cela ne me donne pas la même interface que j'attends. Essayez d'utiliser un SPAN à la place d'un DIV.

Répondre

0

Un DIV est un élément de niveau bloc qui transporte des bagages supplémentaires avec lui. Le SPAN est un élément en ligne et ne modifiera pas la sémantique de la présentation comme le fera un DIV.

Vous pouvez également utiliser des sélecteurs CSS hiérarchiques pour obtenir le même effet sans avoir à enrouler le contenu de l'élément de table dans un conteneur. Cela serait probablement vrai si votre classe CSS s'appliquait également à tous les éléments de la table, mais ne fonctionnerait pas s'ils s'appliquaient à certains et pas à d'autres.

3

Si vous le pouvez, ajoutez simplement un DIV avant que la table soit générée. Le nom de la classe pour la div externe sera héritée par les éléments TD:

<div class="MyClassName"> 
    //table code here 
</div> 

Ensuite, vous pouvez utiliser les CSS comme suit:

.MyClassName TD { //CSS here } 
0

Après votre commande est ajouté à l'arbre de commande de la page que vous pouvez utiliser c'est la propriété "parent" de travailler l'arbre au contrôle de la table.

NewDynamicControl.Parent.Parent.Parent.Attributes.Add("class", "myClass") 

Cela suppose que vous avez une bonne connaissance de ce que le usercontrol vous ajoutez à ressemble et qu'il ne sera pas modifié par quelqu'un d'autre et finissent par casser votre code plus tard.

Questions connexes