Pregunta

¿Cómo se pueden aplicar estilos a CheckBoxList ListItems?A diferencia de otros controles, como el Repetidor, donde puede especificar <ItemStyle>, parece que no se puede especificar un estilo para cada control individual.

¿Existe algún tipo de solución alternativa?

¿Fue útil?

Solución

Puede agregar atributos a ListItems mediante programación de la siguiente manera.

Supongamos que tiene una CheckBoxList y está agregando ListItems.Puede agregar atributos a lo largo del camino.

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

Esto hará que el color del texto del elemento de la lista sea rojo.Experimenta y diviértete.

Otros consejos

Parece que la mejor manera de hacerlo es crear una nueva CssClass.ASP.NET traduce CheckBoxList en una estructura de tabla.

Usando algo como

Estilo.css

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

Página.aspx

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

hará el truco

Además de la respuesta de Andrew...

Dependiendo de qué otros atributos le pongas a un CheckBoxList o RadioButtonList, o lo que sea, ASP.Net representará la salida utilizando diferentes estructuras.Por ejemplo, si configura RepeatLayout="Flow", no se representará como una TABLA, por lo que debe tener cuidado con los selectores descendientes que utiliza en su archivo CSS.

En mayoría En algunos casos, puede simplemente hacer "Ver código fuente" en su página renderizada, tal vez en un par de navegadores diferentes, y descubrir qué está haciendo ASP.Net.Sin embargo, existe el peligro de que las nuevas versiones de los controles del servidor o diferentes navegadores los muestren de forma diferente.

Si desea aplicar un estilo diferente a un elemento de lista en particular o a un conjunto de elementos de lista sin agregar atributos en el código subyacente, puede usar selectores de atributos CSS.El único inconveniente es que no son compatibles con IE6. jQuery Es totalmente compatible con los selectores de atributos de estilo CSS 3, por lo que probablemente también podrías usarlo para una compatibilidad más amplia con el navegador.

También puedes lograr esto en el marcado.

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

La palabra Estilo estará subrayada con la advertencia de que El atributo 'estilo' no es un atributo válido del elemento 'ListItem'., pero los elementos tienen el formato deseado de todos modos.

Incluso puedes tener diferentes estilos de fuente y colores para cada palabra.

<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;");
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top