Thank you for that information. I think the basic scenario of my situation
is that I am using Master/Content pages, and the CSS class I want will only
be used in one content page. However, the CSS class will not always be the
same, so it must be generated, so I cannot place it in the HTML or an
external stylesheet like you normally would.
--
Nathan Sokalski
nj********@hotmail.com http://www.nathansokalski.com/
"Stan" <go********@philhall.netwrote in message
news:b2**********************************@i76g2000 hsf.googlegroups.com...
On May 9, 1:06 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I am not talking about the Style property of a web server control, I am
talking about a Web.UI.WebControls.Style object, which does not have an
Add
method. You seem to have the Style object confused with the
CssStyleCollection object. These two object can be easy to confuse because
the Style property is not an instance of the Style class. Any other
suggestions?
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/
"Stan" <goo...@philphall.me.ukwrote in message
news:fd**********************************@b1g2000h sg.googlegroups.com...
... and I am having trouble figuring out
how to add all the desired css properties to a
System.Web.UI.WebControls.Style object. Can anyone help me? Thanks.
The "Style" property of a web server control is actually a collection
not a single object (really ought to be named "Styles"). So you use
the Add method. CssStyleCollections are actually a list of key/value
pairs where the key is the attribute and the value the value. For
example:
Suppose you have a label control where you want to set the styles
programmatically:
Label1.Style.Add("Color", "Blue");
Label1.Style.Add("font-size", "2em");
will make the text quite large and blue.
HTH- Hide quoted text -
- Show quoted text -
Ok, I misread your post slightly. Can I take it then that you are
trying encapsulate a set of css styles in an instance of
System.Web.UI.WebControl.Style class so it can be applied to any
control without having to set the properties for each control
individually? i.e. you are trying to emulate the way css "class"
attributes work without having to access the <styletags.
I have tested the following which works OK
(note that System.Web.UI.WebControl namespace is within scope)
Style s = new Style();
s.Font.Size = FontUnit.Parse("2em");
s.ForeColor = System.Drawing.Color.Blue;
Label1.ControlStyle.CopyFrom(s);
Is that anything like what you are trying to do?
Note also that the Style object does not encapsulate all possible css
styles, e.g. it doesn't handle things like "margin" or "padding"
However the Style object does have a CssClass property that can be
used in the same way as those illustrated above except that the
definition of the css class has to reside in markup in the usual way.
Is there any reason why you can't use themes for all this, which allow
the selected application of both Skin and CSS style sheets, and can be
applied at page level using the @page directive (including content
pages) and hence at control level with css classes and Skin IDs?