469,630 Members | 1,220 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,630 developers. It's quick & easy.

Run Javascript function upon Page Load from Page Load event handle

Hello,

I have a asp.net 2.0 (vb.net) page, which uses a master page, and there is a
javascript function (myfunction) defined in the <headof that master page.
Is there a way to run the function from the page load event of the page?

I am able to run the function when there is a change in, say, a text box, by
adding the following to the page load event:
TextBox.Attributes.Add("onChange", "javascript:myfunction()")

However, the following gives me an error that "Attributes is not a member of
pagename":
Me.Attributes.Add("onLoad", "javascript:myFunction()")

I'm trying to get myfunction to run when the page loads by adding the
correct code to Me.Load.

Thank you for your help.
Jun 27 '08 #1
5 3198
On 27 May, 23:29, Matcon <Mat...@discussions.microsoft.comwrote:
Hello,

I have a asp.net 2.0 (vb.net) page, which uses a master page, and there isa
javascript function (myfunction) defined in the <headof that master page.. *
Is there a way to run the function from the page load event of the page?

I am able to run the function when there is a change in, say, a text box, by
adding the following to the page load event:
TextBox.Attributes.Add("onChange", "javascript:myfunction()")

However, the following gives me an error that "Attributes is not a member of
pagename":
Me.Attributes.Add("onLoad", "javascript:myFunction()")

I'm trying to get myfunction to run when the page loads by adding the
correct code to Me.Load.

Thank you for your help.
Are you confusing the server-side PageLoad event with the client-side
OnLoad event?

The PageLoad event is handled by the server. Any JavaScript contained
in the page file is passed transparently back to the client. Niether
IIS or the ASP.NET worker process understand JavaScript and cannot
meaningfully execute it during the rendering of the page.

Am I making any sense?
Jun 27 '08 #2
"Matcon" <Ma****@discussions.microsoft.comwrote in message
news:B9**********************************@microsof t.com...
I have a asp.net 2.0 (vb.net) page, which uses a master page, and there is
a
javascript function (myfunction) defined in the <headof that master
page.
OK.
Is there a way to run the function from the page load event of the page?
Yes.
I am able to run the function when there is a change in, say, a text box,
by
adding the following to the page load event:
TextBox.Attributes.Add("onChange", "javascript:myfunction()")
OK. FYI, the "javascript:" part is unnecessary...
However, the following gives me an error that "Attributes is not a member
of
pagename":
Me.Attributes.Add("onLoad", "javascript:myFunction()")
Yes, it would do.

[Also, bear in mind that JavaScript is case-sensitive e.g. myfunction() is
not the same as myFunction()...]
I'm trying to get myfunction to run when the page loads by adding the
correct code to Me.Load.
1) Modify the MasterPage's <bodytag as follows:

<body id="objMasterBody" runat="server">

2) Add the following to your content page's Page_Load event:

Master.FindControl("objBody").Attributes.Add("onlo ad", "myfunction();")
Alternatively, if you want the function to run for every content page which
uses this MasterPage, then just do:

<body onload="myfunction();">
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jun 27 '08 #3
Thanks for that information - I think I'm close. I followed step 1 and 2,
but I'm getting an error that reads:

"'Attributes' is not a member of 'System.Web.UI.Control'."

Thoughts on what I should try?
"Mark Rae [MVP]" wrote:
"Matcon" <Ma****@discussions.microsoft.comwrote in message
news:B9**********************************@microsof t.com...
I have a asp.net 2.0 (vb.net) page, which uses a master page, and there is
a
javascript function (myfunction) defined in the <headof that master
page.

OK.
Is there a way to run the function from the page load event of the page?

Yes.
I am able to run the function when there is a change in, say, a text box,
by
adding the following to the page load event:
TextBox.Attributes.Add("onChange", "javascript:myfunction()")

OK. FYI, the "javascript:" part is unnecessary...
However, the following gives me an error that "Attributes is not a member
of
pagename":
Me.Attributes.Add("onLoad", "javascript:myFunction()")

Yes, it would do.

[Also, bear in mind that JavaScript is case-sensitive e.g. myfunction() is
not the same as myFunction()...]
I'm trying to get myfunction to run when the page loads by adding the
correct code to Me.Load.

1) Modify the MasterPage's <bodytag as follows:

<body id="objMasterBody" runat="server">

2) Add the following to your content page's Page_Load event:

Master.FindControl("objBody").Attributes.Add("onlo ad", "myfunction();")
Alternatively, if you want the function to run for every content page which
uses this MasterPage, then just do:

<body onload="myfunction();">
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jun 27 '08 #4
"Matcon" <Ma****@discussions.microsoft.comwrote in message
news:7B**********************************@microsof t.com...

[top-posting corrected]
>2) Add the following to your content page's Page_Load event:

Master.FindControl("objBody").Attributes.Add("onl oad", "myfunction();")

Thanks for that information - I think I'm close. I followed step 1 and 2,
but I'm getting an error that reads:

"'Attributes' is not a member of 'System.Web.UI.Control'."

Thoughts on what I should try?
Apologies - my fault.

Try something like this:

DirectCast(Master.FindControl("objBody"),
HtmlGenericControl).Attributes.Add("onload", "alert('Hello');")

I think that should work...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jun 27 '08 #5
That worked! Thanks very much for your help.
"Mark Rae [MVP]" wrote:
"Matcon" <Ma****@discussions.microsoft.comwrote in message
news:7B**********************************@microsof t.com...

[top-posting corrected]
2) Add the following to your content page's Page_Load event:

Master.FindControl("objBody").Attributes.Add("onlo ad", "myfunction();")
Thanks for that information - I think I'm close. I followed step 1 and 2,
but I'm getting an error that reads:

"'Attributes' is not a member of 'System.Web.UI.Control'."

Thoughts on what I should try?

Apologies - my fault.

Try something like this:

DirectCast(Master.FindControl("objBody"),
HtmlGenericControl).Attributes.Add("onload", "alert('Hello');")

I think that should work...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Jun 27 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.

By using this site, you agree to our Privacy Policy and Terms of Use.