如何将样式应用于CheckBoxList ListItems。与其他控件(例如您可以指定<ItemStyle>的Repeater)不同,您似乎无法为每个控件指定样式。

有什么工作吗?

有帮助吗?

解决方案

您可以通过编程方式将属性添加到ListItems,如下所示。

假设你有一个CheckBoxList并且你正在添加ListItems。您可以在此过程中添加属性。

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

这会使listitem文本的颜色变为红色。尝试并享受乐趣。

其他提示

这似乎是最好的方法是创建一个新的CssClass。 ASP.NET将CheckBoxList转换为表结构。

使用类似

的内容

的style.css

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

Page.aspx

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

会做的伎俩

除了安德鲁的回答......

根据您在CheckBoxListRadioButtonList上放置的其他属性,或者其他任何属性,ASP.Net将使用不同的结构呈现输出。例如,如果设置RepeatLayout="Flow",它将不会呈现为TABLE,因此您必须小心在CSS文件中使用的后代选择器。

大多数案例中,您可以只执行<!>“查看源<!>”;在您呈现的页面上,可能在几个不同的浏览器上,并弄清楚ASP.Net正在做什么。但是,存在一种危险,即新版本的服务器控件或不同的浏览器将以不同的方式呈现它们。

如果要在不在代码隐藏中添加属性的情况下以不同方式设置特定列表项或一组列表项,则可以使用CSS属性选择器。唯一的缺点是它们在IE6中不受支持。 jQuery 完全支持CSS 3样式属性选择器,因此您可能还可以使用它来获得更广泛的浏览器支持。

您也可以在标记中实现此目的。

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

单词Style将带有下划线,警告属性'style'不是元素'ListItem'的有效属性。,但项目的格式仍然符合要求。

每个单词甚至可以有不同的字体样式和颜色。

<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;");
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top