web-dev-qa-db-fra.com

Appliquer des styles pour répertorier les éléments de la liste de coasser

Comment les styles peuvent-ils être appliqués à Cochez CocheboxList Listitems. Contrairement à d'autres contrôles, tels que le répéteur où vous pouvez spécifier <ItemStyle>, vous ne pouvez pas sembler spécifier de style pour chaque contrôle individuel.

Y a-t-il une sorte de travail autour?

24
Andrew Burgess

Vous pouvez ajouter des attributs à ListItems par programme comme suit.

Dites que vous avez une liste de coasser et vous ajoutez des listitems. Vous pouvez ajouter des attributs en cours de route.

ListItem li = new ListItem("Richard Byrd", "11");
li.Selected = false;
li.Attributes.Add("Style", "color: red;");
CheckBoxList1.Items.Add(li);

Cela fera la couleur du texte de la liste de la liste. Expérimenter et s'amuser.

25
Cyberherbalist

Il semble que la meilleure façon de le faire est de créer une nouvelle CSSClass. ASP.NET Traduit la liste de coasser dans une structure de table.

En utilisant quelque chose comme

Style.css

.chkboxlist td 
{
    font-size:x-large;
}

Page.cx

<asp:CheckBoxList ID="chkboxlist1" runat="server" CssClass="chkboxlist" />

va faire le tour

13
Andrew Burgess

En plus de la réponse d'Andrew ...

Selon les autres attributs que vous mettez sur un CheckBoxList ou RadioButtonList, ou autre, ASP.NET rendra la sortie à l'aide de différentes structures. Par exemple, si vous définissez RepeatLayout="Flow", il ne sera pas rendu comme une table, vous devez donc faire attention aux sélecteurs de descendants que vous utilisez dans votre fichier CSS.

Dans des cas la plupart , vous pouvez simplement faire une "source de visualisation" sur votre page rendue, peut-être sur deux navigateurs différents et déterminer ce que ASP .Net fait. Il y a cependant un danger que de nouvelles versions des contrôles du serveur ou des différents navigateurs les rendent différemment.

Si vous souhaitez styer un élément de liste ou un ensemble d'éléments de liste différemment sans ajouter d'attributs dans le code-derrière, vous pouvez utiliser des sélecteurs d'attribut CSS. Le seul inconvénient à celui-ci est qu'ils ne sont pas pris en charge dans IE6. jQuery prend entièrement en charge les sélecteurs d'attributs de style CSS 3, de sorte que vous pourriez probablement également l'utiliser pour un support de navigateur plus large.

6
CMPalmer

Vous pouvez également y parvenir dans le balisage.

<asp:ListItem Text="Good" Value="True" style="background-color:green;color:white" />
<br />
<asp:ListItem Text="Bad" Value="False" style="background-color:red;color:white" />

Le style de mot sera souligné avec l'avertissement que Attribut 'Style' n'est pas un attribut valide d'élément 'Listitem'., mais les articles sont formatés de toute façon.

5
Jon White
public bool Repeater_Bind()
{
    RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
    if (curQuestionInfo.CorrectAnswer != -1) {
        objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
    }
}
1
John