Run Javascript function upon Page Load from Page Load event handle

  • Thread starter Thread starter Matcon
  • Start date Start date
M

Matcon

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 <head> of 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.
 
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 <head> of 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?
 
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 said:
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 <head> of 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 <body> tag as follows:

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

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

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


Alternatively, if you want the function to run for every content page which
uses this MasterPage, then just do:

<body onload="myfunction();">
 
That worked! Thanks very much for your help.


Mark Rae said:
[top-posting corrected]
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...
 
Back
Top