Frage

Wie können Stile CheckBoxList Listitem angewandt werden. Im Gegensatz zu anderen Steuerungen, wie der Repeater, wo Sie <ItemStyle> angeben können, können Sie nicht einen Stil für jede einzelne Kontrolle angeben zu sein scheinen.

Gibt es irgendeine Art von Arbeit um?

War es hilfreich?

Lösung

Sie können Attribute auf Listitem programmatisch wie folgen hinzufügen.

Sagen Sie bitte eine CheckBoxList haben und Sie hinzufügen Listitem. Sie können Attribute auf dem Weg hinzuzufügen.

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

Dies wird die Farbe des listitem Text rot machen. Experimentieren und Spaß haben.

Andere Tipps

Es scheint der beste Weg, dies zu tun, ist eine neue CssClass zu erstellen. ASP.NET übersetzt CheckBoxList in eine Tabellenstruktur.

Mit so etwas wie

Style.css

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

Page.aspx

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

den Trick

Neben Andrew Antwort ...

Je nachdem, welche anderen Attribute, die Sie setzen auf eine CheckBoxList oder RadioButtonList, oder was auch immer, ASP.Net wird die Ausgabe mit unterschiedlichen Strukturen machen. Zum Beispiel, wenn Sie RepeatLayout="Flow" gesetzt ist, wird es nicht als Tabelle machen, so muss man vorsichtig sein, was Nachfahrenselektoren Sie in Ihrer CSS-Datei verwenden.

In die meisten Fällen können Sie können nur eine „View Source“ auf der gerenderten Seite darum, vielleicht auf ein paar verschiedenen Browsern, und herauszufinden, was ASP.Net tut. Es besteht die Gefahr aber, dass neue Versionen des Server-Steuerelemente oder verschiedenen Browser sie anders machen werden.

Wenn Sie ein bestimmtes Listenelement stylen mögen oder eine Reihe von Listenelementen anders, ohne in dem in Attributen Hinzufügen von Code-behind, können Sie mit CSS-Selektoren zuschreiben. Der einzige Nachteil, dass ist, dass sie nicht in IE6 unterstützt. jQuery vollständig CSS 3 Stil Attributselektoren unterstützt, so dass Sie wahrscheinlich auch für eine breitere Browser-Unterstützung nutzen könnten.

Sie können dies auch im Markup erreichen.

<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" />

Das Wort Design wird mit der Warnung unterstrichen werden, dass Attribut ‚Stil‘ ist kein gültiges Attribut des Elements ‚ListItem‘. , aber die Elemente sind so formatiert, wie ohnehin gewünscht wird.

Sie können sogar verschiedene Schriftarten und Farben für jedes Wort haben.

<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;");
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top