Usercontrol, add styles via Page.Header.Attributes ?

E

Edwin Knoppert

I want to add styles to the current page from within a usercontrol the
correct(better) way.
So i would like to insert the styles in the page head.

Any good approach?
 
J

John Saunders

Edwin Knoppert said:
I want to add styles to the current page from within a usercontrol the
correct(better) way.
So i would like to insert the styles in the page head.

Any good approach?

I would recommend against this, unless the only purpose of the user control
is to change styles. In general, the page should set the styles, not the
controls.

John
 
E

Edwin Knoppert

I need specific styles for controls inside a gridview template.
Since these are ASP.NET controls they expect a classname, not one or more
styles.
(Which can be set via code as well)

I have > 8 styles to set, so alternatives are pretty cumbersome imo.
(We keep the server working this way, instead of the client's browser only)
 
J

John Saunders

Edwin Knoppert said:
I need specific styles for controls inside a gridview template.
Since these are ASP.NET controls they expect a classname, not one or more
styles.
(Which can be set via code as well)

I have > 8 styles to set, so alternatives are pretty cumbersome imo.
(We keep the server working this way, instead of the client's browser
only)

I don't understand your problem. We also use CSS classes very heavily. We
have our controls reference the classes via CssClass on a server control or
"class" on a client tag. We then have the pages reference the .css files
containing the definitions of the classes. We have a base page class which
emits the correct <link> tags on every page. This works well, without a
control attempting to set styles for the page (which is a lot like the tail
wagging the dog).

John
 
E

Edwin Knoppert

First, i'm not sure i posted this in the correct group, there is a
webcontrols group as well, my current problem applies to a custom control
for asp.net (therefore the styles of course :) )

--------

The idea is that i would like to prepare self-contained controls and
therefore i don't prefer seperate css files.
I was wrong yesterday by mentioning using the server tag for each control to
add styles dynamically to each control.
I just put a styles section directly into my usercontrol html part, it works
but it's not recommended.
Styles should be in the head and preferrable as include.
Well i know that there are webresources but my knowledge about this all is
not that far yet + the usercontrol is not a compiled control since it still
depends to much on the project.
(Like database tables and fields etc + there is no need)
Therefore i choose for styles in the html, the easy way..

I'm just figuring out how to deal with things, it's not all that trivial.

And then there is the problem of recurring insertions, meaning multiple
instances of my usercontrol on the same page would then insert duplicate
styles (and javascript code) with the same name(s).

For js there is this asp.net solution to register functionality which
results into one codeblock on multiple inserts.
Maybe this is also available with styles??

There are several solutions, i'm working slowly to a better approach with
respect to the complete control, not only this styles issue.
Most of my usercontrols are never required outside the project, it would
cost to much time to make them stand-alone anyway.
 
G

gerry

I have used RegisterStartupScript to inject styles into a web page from a
custom control - just specify that the surrounding script tags should not be
generated.
This does stick the style data at the bottom of the page ( right before the
</form> tag I beleive ) but I haven't seen any browsers so far that had any
problem with style blocks outside of the head block.

Gerry
 
G

gerry

just a note
after that last post i wondered why I had used RegisterStartupScript as
opposed to RegisterClientScriptBlock
so I made the change to RegisterClientScriptBlock
this works just as well , the only difference is that the block is inserted
at the top of the page just below the viewstate div.

Gerry
 
E

Edwin Knoppert

Hmm, we might need some more fokes over here :)

RegisterStartupScript, well i don't know all these Register.. stuff yet, but
there are a few afaik.
Of course, there is still the issue of duplicated (multiple) styles with the
same name.
I was wondering if some how we could make this more unique, i can.. manually
but maybe the system offers better stuff.
 
G

gerry

i'm not sure if this what you mean by 'duplicate styles' or 'more unique'
but you can ensure that a style block is included only once in the page by
using IsClientScriptBlockRegistered before calling RegisterClientScriptBlock

as far as not knowing 'all these Register stuff yet' the docs are a
wonderful thing and google is just a click away
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top