![]() |
|
|
|||||||
![]() |
ASP Net - Override Skin file in CheckBoxList item |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
Hello,
I have a need to set the formatting of the checkboxes dynamically added to a checkboxlist on my website. The problem is that we use a master.skin file that overrides any classes I add to the listitems as they are added to the checkboxlist. I have experimented with SkinIDs in the past, but am unable to add a SkinID to the items in the checkboxlist. I add the items like this: ListItem itemCategory = new ListItem(); itemCategory.Text = categoryList[i]["CategoryName"].ToString(); itemCategory.Value = categoryList[i]["CategoryID"].ToString(); cblCategories.Items.Add(itemCategory); I've tried adding a class like this: itemCategory.Attributes.Add("class", string.Concat("checkBoxOrder", orderLevel.ToString())); but that gets overriden by the skin file: <asp:CheckBox runat="server" CssClass="checkBox"></asp:CheckBox> Any help getting SkinID set on the checkboxlist items, or an alternative way of styling would be much appreciated. Thanks, Max mdavis@medelect.co.uk |
|
|
|
|
#2 |
|
Posts: n/a
|
Are you using the Theme or StylesheetTheme attribute? With Theme, the
properies of the skin will override properties declared directly on a control, whereas StylesheetTheme will only appliy skin properties if they aren't already set on the control. So Stylesheettheme won't overwrite. d <> wrote in message news:79f53e11-d543-487b-8b8d-... > Hello, > I have a need to set the formatting of the checkboxes dynamically > added to a checkboxlist on my website. The problem is that we use a > master.skin file that overrides any classes I add to the listitems as > they are added to the checkboxlist. > I have experimented with SkinIDs in the past, but am unable to add a > SkinID to the items in the checkboxlist. > > I add the items like this: > ListItem itemCategory = new ListItem(); > itemCategory.Text = categoryList[i]["CategoryName"].ToString(); > itemCategory.Value = categoryList[i]["CategoryID"].ToString(); > cblCategories.Items.Add(itemCategory); > > I've tried adding a class like this: > itemCategory.Attributes.Add("class", string.Concat("checkBoxOrder", > orderLevel.ToString())); > > but that gets overriden by the skin file: > <asp:CheckBox runat="server" CssClass="checkBox"></asp:CheckBox> > > Any help getting SkinID set on the checkboxlist items, or an > alternative way of styling would be much appreciated. > > Thanks, > Max |
|
|
|
#3 |
|
Posts: n/a
|
On 15 Feb, 09:30, "Dave Sussman" <dav...@ipona.com> wrote:
> Are you using the Theme or StylesheetTheme attribute? With Theme, the > properies of the skin will override properties declared directly on a > control, whereas StylesheetTheme will only appliy skin properties if they > aren't already set on the control. So Stylesheettheme won't overwrite. > > d > > <mda...@medelect.co.uk> wrote in message > > news:79f53e11-d543-487b-8b8d-... > > > Hello, > > I have a need to set the formatting of the checkboxes dynamically > > added to a checkboxlist on my website. The problem is that we use a > > master.skin file that overrides any classes I add to the listitems as > > they are added to the checkboxlist. > > I have experimented with SkinIDs in the past, but am unable to add a > > SkinID to the items in the checkboxlist. > > > I add the items like this: > > ListItem itemCategory = new ListItem(); > > itemCategory.Text = categoryList[i]["CategoryName"].ToString(); > > itemCategory.Value = categoryList[i]["CategoryID"].ToString(); > > cblCategories.Items.Add(itemCategory); > > > I've tried adding a class like this: > > itemCategory.Attributes.Add("class", string.Concat("checkBoxOrder", > > orderLevel.ToString())); > > > but that gets overriden by the skin file: > > <asp:CheckBox runat="server" CssClass="checkBox"></asp:CheckBox> > > > Any help getting SkinID set on the checkboxlist items, or an > > alternative way of styling would be much appreciated. > > > Thanks, > > Max I didn't realise about the StyleSheetTheme attribute - what a great find! Looks like it's the answer. Cheers, Max |
|