Question

Comment les styles peuvent-ils être appliqués à CheckBoxList 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 un style pour chaque contrôle individuel.

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

Était-ce utile?

La solution

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

Dites que vous avez une CheckBoxList et que 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);

Ceci rendra la couleur du texte de liste rouge. Expérimentez et amusez-vous.

Autres conseils

Il semble que le meilleur moyen de le faire est de créer un nouveau CssClass. ASP.NET traduit CheckBoxList dans une structure de table.

Utiliser quelque chose comme

Style.css

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

Page.aspx

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

fera l'affaire

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

En fonction des autres attributs que vous attribuez à CheckBoxList ou RadioButtonList, ou à un autre résultat, ASP.Net restituera la sortie sous différentes structures. Par exemple, si vous définissez RepeatLayout="Flow", le rendu ne sera pas sous la forme d'une TABLE. Vous devez donc faire attention aux sélecteurs de descendants que vous utilisez dans votre fichier CSS.

Dans la plupart des cas, vous pouvez simplement faire une " View Source " sur votre page de rendu, peut-être sur deux navigateurs différents, et déterminez ce que fait ASP.Net. Cependant, le risque existe que les nouvelles versions des contrôles serveur ou différents navigateurs les rendent différemment.

Si vous souhaitez styler différemment un élément de liste particulier ou un ensemble d'éléments de liste sans ajouter d'attributs dans le code-behind, vous pouvez utiliser les sélecteurs d'attributs CSS. Le seul inconvénient, c'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. Vous pourrez donc probablement également l'utiliser pour une prise en charge plus étendue des navigateurs.

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 mot Style sera souligné avec l'avertissement que Attribut 'style' n'est pas un attribut valide de l'élément 'ListItem'. , mais que les éléments sont formatés comme souhaité.

Vous pouvez même avoir des styles de police et des couleurs différents pour chaque mot.

<asp:ListItem Text="Other (<span style=font-weight:bold;>please </span><span>style=color:Red;font-weight:bold;>specify</span>):" Value="10"></asp:ListItem>
public bool Repeater_Bind()
{
    RadioButtonList objRadioButton = (RadioButtonList)eventArgs.Item.FindControl("rbList");
    if (curQuestionInfo.CorrectAnswer != -1) {
        objRadioButton.Items[curQuestionInfo.CorrectAnswer].Attributes.Add("Style", "color: #b4fbb1;");
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top