Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Programmatically adding a css style to a web content form

3 views
Skip to first unread message

Nathan Sokalski

unread,
May 4, 2008, 11:23:44 PM5/4/08
to
I have css that would normally be placed in style tags in the header of the
Master page that I want to add programmatically for a specific Web Content
Form (the *.aspx page). How do I do this for a Web Content Form? I cannot
use style tags in a Web Content Form, 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.
--
Nathan Sokalski
njsok...@hotmail.com
http://www.nathansokalski.com/


Peter Bucher [MVP]

unread,
May 5, 2008, 3:58:37 AM5/5/08
to
Hello Nathan

>I have css that would normally be placed in style tags in the header of the
>Master page that I want to add programmatically for a specific Web Content
>Form (the *.aspx page). How do I do this for a Web Content Form? I cannot
>use style tags in a Web Content Form, 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.

You can Access within your contentpage to the masterpage and throught the
property ".Master"
also to the .Header.

Add there a HtmlGenericControl("style"), or make an Include with an "link"
Tag there.

Look further:

-
http://translate.google.ch/translate?u=http%3A%2F%2Fwww.aspnetzone.de%2Fblogs%2Fpeterbucher%2Farchive%2F2007%2F10%2F28%2Fauf-eigenschaften-methoden-der-masterpage-zugreifen-mastertype-direktive.aspx&langpair=de%7Cen&hl=de&ie=UTF-8
(English Translation)

-
http://www.aspnetzone.de/blogs/peterbucher/archive/2007/10/28/auf-eigenschaften-methoden-der-masterpage-zugreifen-mastertype-direktive.aspx
(Original)

--
Gruss, Peter Bucher
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
http://www.aspnetzone.de/blogs/peterbucher/ - Auf den Spuren von .NET

Stan

unread,
May 8, 2008, 6:20:46 PM5/8/08
to
> ... 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

Nathan Sokalski

unread,
May 8, 2008, 8:06:36 PM5/8/08
to
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?

"Stan" <goo...@philphall.me.uk> wrote in message
news:fd22485c-66da-48a6...@b1g2000hsg.googlegroups.com...

Stan

unread,
May 9, 2008, 8:36:42 PM5/9/08
to
On May 9, 1:06 am, "Nathan Sokalski" <njsokal...@hotmail.com> wrote:
> 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.uk> wrote in message
>
> news:fd22485c-66da-48a6...@b1g2000hsg.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 <style> tags.

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?

Nathan Sokalski

unread,
May 10, 2008, 4:36:44 PM5/10/08
to
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.

"Stan" <googl...@philhall.net> wrote in message
news:b2595620-785f-4bae...@i76g2000hsf.googlegroups.com...

0 new messages