By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,501 Members | 1,678 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,501 IT Pros & Developers. It's quick & easy.

<head runat="server">

P: n/a
Why do we need runat="server" on our <headtags?
Sep 5 '08 #1
Share this Question
Share on Google+
19 Replies


P: n/a
Scott M. wrote:
Why do we need runat="server" on our <headtags?
So that the head tag will be parsed into a server control, so that the
server code can access it.

Without the attribute the tag would just be treated like literal text,
and the server code could not easily add tags inside the head tag.

--
Göran Andersson
_____
http://www.guffa.com
Sep 5 '08 #2

P: n/a
Well, I understand what runat="server" means in general, but we haven't
always had that in .NET and the server never had any trouble adding tags to
the head section before. What, specifically, does the head tag need this
for? Why does the server need to be able to access the head tag as a server
object?
"Göran Andersson" <gu***@guffa.comwrote in message
news:ul**************@TK2MSFTNGP05.phx.gbl...
Scott M. wrote:
>Why do we need runat="server" on our <headtags?

So that the head tag will be parsed into a server control, so that the
server code can access it.

Without the attribute the tag would just be treated like literal text, and
the server code could not easily add tags inside the head tag.

--
Göran Andersson
_____
http://www.guffa.com

Sep 6 '08 #3

P: n/a
Scott M. wrote:
I'm sorry, but your responses don't seem to reall explain why this is needed
Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...

--
Göran Andersson
_____
http://www.guffa.com
Sep 6 '08 #4

P: n/a
It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since .NET
1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why it is
needed now, since it wasn't before.
"Göran Andersson" <gu***@guffa.comwrote in message
news:eW*************@TK2MSFTNGP06.phx.gbl...
Scott M. wrote:
>I'm sorry, but your responses don't seem to reall explain why this is
needed

Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...

--
Göran Andersson
_____
http://www.guffa.com

Sep 6 '08 #5

P: n/a
"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since
.NET 1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why it
is needed now, since it wasn't before.
Can you post a chunk of ASP.NET 1.1 that does what you mean?

Your comment that 'even classic ASP' could do it seems to indicate that
there is a misunderstanding in this thread. Code usually helps clear things
up. (I prefer to speak in VB or C# myself rather English, less likely to be
mis-interpreted ;)

--
Anthony Jones - MVP ASP/ASP.NET

Sep 6 '08 #6

P: n/a
Place this: <%="<meta name='keywords' content='one,two,three' />"% in
between the opening and closing head tags and you get a meta tag. Not to
mention, that since most IDE's have been generating custom meta tags (with
the code generator flagged in the tag) for years, I'm having trouble
understanding why we need runat="server" to get at an area that IDE's have
always been able to get to.

"Anthony Jones" <An***********@yadayadayada.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
>It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since
.NET 1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why it
is needed now, since it wasn't before.

Can you post a chunk of ASP.NET 1.1 that does what you mean?

Your comment that 'even classic ASP' could do it seems to indicate that
there is a misunderstanding in this thread. Code usually helps clear
things up. (I prefer to speak in VB or C# myself rather English, less
likely to be mis-interpreted ;)

--
Anthony Jones - MVP ASP/ASP.NET

Sep 6 '08 #7

P: n/a
Scott M. wrote:
Place this: <%="<meta name='keywords' content='one,two,three' />"% in
between the opening and closing head tags and you get a meta tag. Not to
mention, that since most IDE's have been generating custom meta tags (with
the code generator flagged in the tag) for years, I'm having trouble
understanding why we need runat="server" to get at an area that IDE's have
always been able to get to.
That's not specifically adding a meta tag in the head tag, that is just
adding a literal string among other literal strings.

If you want to create all the response as string literals, you don't
need any server controls at all.

--
Göran Andersson
_____
http://www.guffa.com
Sep 6 '08 #8

P: n/a
Allow me to jump in here with my 2 cents..

Starting .NET 2.0 @Page directive has a Title property (Page class has a
Title property).

Try to set it with out having <head runat=server>... You will get an error..
Also read documentation on Page.Title
"Use the Title property to set the page title in the HTML header sent to the
requesting browser.
Note The page must contain a <headelement with the attribute
runat="server", otherwise the title will not render."

PS: If you are not using Title property in your project then you (probably)
do not need to have <head runat=server>

George.


"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since
.NET 1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why it
is needed now, since it wasn't before.
"Göran Andersson" <gu***@guffa.comwrote in message
news:eW*************@TK2MSFTNGP06.phx.gbl...
>Scott M. wrote:
>>I'm sorry, but your responses don't seem to reall explain why this is
needed

Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...

--
Göran Andersson
_____
http://www.guffa.com

Sep 6 '08 #9

P: n/a
You miss my point. Call it what you want, but I am able to gain access to
the content that will be rendered in the head section without
runat="server". So, my question still stands: What does runat="server" in
the head tag buy me that I didn't have before it?
"Göran Andersson" <gu***@guffa.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
Scott M. wrote:
>Place this: <%="<meta name='keywords' content='one,two,three' />"%>
in between the opening and closing head tags and you get a meta tag. Not
to mention, that since most IDE's have been generating custom meta tags
(with the code generator flagged in the tag) for years, I'm having
trouble understanding why we need runat="server" to get at an area that
IDE's have always been able to get to.

That's not specifically adding a meta tag in the head tag, that is just
adding a literal string among other literal strings.

If you want to create all the response as string literals, you don't need
any server controls at all.

--
Göran Andersson
_____
http://www.guffa.com

Sep 6 '08 #10

P: n/a
So is the ability to use the @Page Title directive the only thing that
adding runat="server" to the head tag buys me?
"George" <no*****@comcast.netwrote in message
news:Ol*************@TK2MSFTNGP05.phx.gbl...
Allow me to jump in here with my 2 cents..

Starting .NET 2.0 @Page directive has a Title property (Page class has a
Title property).

Try to set it with out having <head runat=server>... You will get an
error.. Also read documentation on Page.Title
"Use the Title property to set the page title in the HTML header sent to
the requesting browser.
Note The page must contain a <headelement with the attribute
runat="server", otherwise the title will not render."

PS: If you are not using Title property in your project then you
(probably) do not need to have <head runat=server>

George.


"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
>It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since
.NET 1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why it
is needed now, since it wasn't before.
"Göran Andersson" <gu***@guffa.comwrote in message
news:eW*************@TK2MSFTNGP06.phx.gbl...
>>Scott M. wrote:
I'm sorry, but your responses don't seem to reall explain why this is
needed

Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...

--
Göran Andersson
_____
http://www.guffa.com


Sep 6 '08 #11

P: n/a
YES and again if you are no using it then you do not need <head
runat=server>.
The Title property makes sense when used in conjunction with MasterPages.
When <HEADtag is in the MasterPage and each page needs to set custom Title
(Good for Google/Yahoo). So that was a Microsoft's way to let developers do
it (set custom title on page).
George.

"Scott M." <s-***@nospam.nospamwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
So is the ability to use the @Page Title directive the only thing that
adding runat="server" to the head tag buys me?
"George" <no*****@comcast.netwrote in message
news:Ol*************@TK2MSFTNGP05.phx.gbl...
>Allow me to jump in here with my 2 cents..

Starting .NET 2.0 @Page directive has a Title property (Page class has a
Title property).

Try to set it with out having <head runat=server>... You will get an
error.. Also read documentation on Page.Title
"Use the Title property to set the page title in the HTML header sent to
the requesting browser.
Note The page must contain a <headelement with the attribute
runat="server", otherwise the title will not render."

PS: If you are not using Title property in your project then you
(probably) do not need to have <head runat=server>

George.


"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
>>It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to add
things into the head section and since we've been able to do that since
.NET 1.0 (and even classic ASP), I don't see how that can be the case.

You may well be right, but I'm looking for an answer that explains why
it is needed now, since it wasn't before.
"Göran Andersson" <gu***@guffa.comwrote in message
news:eW*************@TK2MSFTNGP06.phx.gbl...
Scott M. wrote:
I'm sorry, but your responses don't seem to reall explain why this is
needed

Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...

--
Göran Andersson
_____
http://www.guffa.com


Sep 6 '08 #12

P: n/a
Thank you very much!
"George" <no*****@comcast.netwrote in message
news:OS****************@TK2MSFTNGP05.phx.gbl...
YES and again if you are no using it then you do not need <head
runat=server>.
The Title property makes sense when used in conjunction with MasterPages.
When <HEADtag is in the MasterPage and each page needs to set custom
Title (Good for Google/Yahoo). So that was a Microsoft's way to let
developers do it (set custom title on page).
George.

"Scott M." <s-***@nospam.nospamwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
>So is the ability to use the @Page Title directive the only thing that
adding runat="server" to the head tag buys me?
"George" <no*****@comcast.netwrote in message
news:Ol*************@TK2MSFTNGP05.phx.gbl...
>>Allow me to jump in here with my 2 cents..

Starting .NET 2.0 @Page directive has a Title property (Page class has a
Title property).

Try to set it with out having <head runat=server>... You will get an
error.. Also read documentation on Page.Title
"Use the Title property to set the page title in the HTML header sent to
the requesting browser.
Note The page must contain a <headelement with the attribute
runat="server", otherwise the title will not render."

PS: If you are not using Title property in your project then you
(probably) do not need to have <head runat=server>

George.


"Scott M." <s-***@nospam.nospamwrote in message
news:uZ**************@TK2MSFTNGP02.phx.gbl...
It's not about believing you. You just haven't provided an ansswer that
explains anything. You're answer is that it is needed to be able to
add things into the head section and since we've been able to do that
since .NET 1.0 (and even classic ASP), I don't see how that can be the
case.

You may well be right, but I'm looking for an answer that explains why
it is needed now, since it wasn't before.
"Göran Andersson" <gu***@guffa.comwrote in message
news:eW*************@TK2MSFTNGP06.phx.gbl...
Scott M. wrote:
>I'm sorry, but your responses don't seem to reall explain why this is
>needed
>
Well, I tried to explain, but if you choose not to believe me you can
just... well... whatever...
>
--
Göran Andersson
_____
http://www.guffa.com


Sep 6 '08 #13

P: n/a
Scott M. wrote:
You miss my point. Call it what you want, but I am able to gain access to
the content that will be rendered in the head section without
runat="server". So, my question still stands: What does runat="server" in
the head tag buy me that I didn't have before it?
No, it's you who are missing the point.

You can add content in the actual head, not just in a container that you
have placed in the head.

This is required to use any built in features, like themes, that need to
put code in the head.

If you get an error message that tells you that runat="server" is
required in the head tag, it's because you are using some of the built
in fetures that needs to put code in the head. The error message also
tells you exactly what it is that you are using, so if you don't want to
use that featue, you don't net to put runat="server" in the head tag.

--
Göran Andersson
_____
http://www.guffa.com
Sep 7 '08 #14

P: n/a
No, it's you who are missing the point.

I am quite sure that I am and I'm quite sure that you aren't explaining it
in a way that makes me get the point.

All you are saying is that it is requires so that content can be placed in
the head secation and I'm telling you that this can be done without
runat="server".

Anyway, thanks for trying.
Sep 7 '08 #15

P: n/a
Scott M. wrote:
>No, it's you who are missing the point.

I am quite sure that I am and I'm quite sure that you aren't explaining it
in a way that makes me get the point.

All you are saying is that it is requires so that content can be placed in
the head secation and I'm telling you that this can be done without
runat="server".
Yes, of course it's possible, but far from practical.

The way that you demonstated is to put a server control or an inline
code block inside the head tag, but that requires you to know where the
head tag is already. That can't be done automatically.

Another alternative is to loop through all the literal controls in the
page to locate the head tag. Then the string containing the head tag
could be parsed so that the string could be modified. Although possible,
it would be doing exactly what's done when you put runat="server" in the
head tag, only over and over again every time the header needed
modifying. The mechanism for parsing the code already exists, there is
no reason to do it in a different way for the head tag.
>
Anyway, thanks for trying.
--
Göran Andersson
_____
http://www.guffa.com
Sep 7 '08 #16

P: n/a
The way that you demonstated is to put a server control or an inline code
block inside the head tag, but that requires you to know where the head
tag is already. That can't be done automatically.
[sigh] Yes it can, it's been done for years by every HTML editor that wanted
to insert a <meta name="Generator" ...tag into the output.
Sep 7 '08 #17

P: n/a
Scott M. wrote:
>The way that you demonstated is to put a server control or an inline code
block inside the head tag, but that requires you to know where the head
tag is already. That can't be done automatically.

[sigh] Yes it can, it's been done for years by every HTML editor that wanted
to insert a <meta name="Generator" ...tag into the output.
[sigh] Yes, as I said, it's possible. It can be done, but it would be
stupid. It doesn't make sense to parse the code one extra time to find
the head tag, when the code has already been parsed once.

--
Göran Andersson
_____
http://www.guffa.com
Sep 7 '08 #18

P: n/a
So, your final response is that having this runat="server" in the head tag
gives me no more functionality that we've already had.

Gee, you could have said that like 12 posts ago.

"Göran Andersson" <gu***@guffa.comwrote in message
news:eF**************@TK2MSFTNGP06.phx.gbl...
Scott M. wrote:
>>The way that you demonstated is to put a server control or an inline
code block inside the head tag, but that requires you to know where the
head tag is already. That can't be done automatically.

[sigh] Yes it can, it's been done for years by every HTML editor that
wanted to insert a <meta name="Generator" ...tag into the output.

[sigh] Yes, as I said, it's possible. It can be done, but it would be
stupid. It doesn't make sense to parse the code one extra time to find the
head tag, when the code has already been parsed once.

--
Göran Andersson
_____
http://www.guffa.com

Sep 8 '08 #19

P: n/a
Scott M. wrote:
So, your final response is that having this runat="server" in the head tag
gives me no more functionality that we've already had.

Gee, you could have said that like 12 posts ago.
I did.

--
Göran Andersson
_____
http://www.guffa.com
Sep 8 '08 #20

This discussion thread is closed

Replies have been disabled for this discussion.