Pergunta

Como pode ser aplicada estilos para CheckBoxList ListItems. Ao contrário de outros controles, como o Repeater onde você pode especificar <ItemStyle>, você não consegue especificar um estilo para cada controle individual.

Existe algum tipo de trabalho em torno de?

Foi útil?

Solução

Você pode adicionar atributos para ListItems programaticamente como segue.

Say você tem um CheckBoxList e você está adicionando ListItems. Você pode adicionar atributos ao longo do caminho.

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

Isso fará com que a cor do texto listitem vermelho. Experimento e se divertir.

Outras dicas

Parece que a melhor maneira de fazer isso é criar um novo CssClass. ASP.NET traduz CheckBoxList em uma estrutura da tabela.

Usando algo como

Style.css

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

Page.aspx

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

irá fazer o truque

Além de resposta de Andrew ...

Dependendo do que outros atributos que você colocar em um CheckBoxList ou RadioButtonList, ou qualquer outra coisa, ASP.Net irá processar a saída usando diferentes estruturas. Por exemplo, se você definir RepeatLayout="Flow", não vai tornar como uma tabela, então você tem que ter cuidado com o descendente seletores que você usa no seu arquivo CSS.

Em a maioria casos, você pode pode apenas fazer uma "View Source" na sua página prestados, talvez em um par de diferentes navegadores, e descobrir o que ASP.Net está fazendo. Há um perigo, porém, que novas versões dos controles de servidor ou diferentes navegadores irá torná-los de forma diferente.

Se você quiser estilo um item da lista particular ou conjunto de itens da lista de forma diferente, sem a adição de atributos no código-behind, você pode usar seletores de atributos CSS. A única desvantagem para isso é que eles não são suportados no IE6. jQuery apoia plenamente seletores atributo de estilo CSS 3, então você provavelmente também poderia usá-lo para suporte ao navegador mais amplo.

Você também pode conseguir isso na marcação.

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

A palavra Estilo será sublinhada com o aviso de que Atributo 'estilo' não é um atributo válido do elemento 'ListItem'. , mas os itens são formatados como desejado de qualquer maneira.

Você pode até ter diferentes estilos de fonte e cor para cada palavra.

<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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top