I found some code that is supposed to do this but I cannot get it to work.
it compiles and runs but does not move me down to the bottom fo the page.
Here's my VB code that runs at the end of a sub where I post data back to
the database:
Dim Script As New StringBuilder()
Script.Append("<script language=JavaScript id='BookMarkScript'>
")
Script.Append("var hashValue='#BottomOfPage'; ")
Script.Append("if(location.hash!=hashValue) ")
Script.Append("location.hash=hashValue; ")
Script.Append("</script>")
If (Not
ClientScript.IsClientScriptBlockRegistered("BookMarkScript")) Then
ClientScript.RegisterClientScriptBlock(Me.GetType,
"BookMarkScript", Script.ToString())
End If
Here's the anchor that is near the bottom of the page:
<a name="#BottomOfPage"></a>
Can anyone tell me what I'm doing wrong?
Thanks,
Keith
> Can anyone tell me what I'm doing wrong?
You're using RegisterClientScriptBlock.
This places the JavaScript at the beginning of the webform i.e. just after
the opening <form> tag. This means that (almost certainly) the rest of the
form including the anchor tag hasn't been created when the script tries to
run.
Use RegisterStartUpScript instead, as this places the JavaScript at the end
of the webform i.e. just before the closing </form> tag.
Also, there's no need to include the <script> and </script> tags explicitly,
as ASP.NET will do this for you, e.g.
Dim Script As New StringBuilder()
Script.Append("var hashValue='#BottomOfPage';")
Script.Append("if(location.hash!=hashValue)")
Script.Append("location.hash=hashValue;")
If (Not ClientScript.IsClientScriptBlockRegistered("BookMarkScript")) Then
ClientScript.RegisterStartUpScript (GetType(), "BookMarkScript",
Script.ToString(), True)
End If
--
Mark Rae
ASP.NET MVP
http://www.markrae.net
"Mark Rae [MVP]" <ma...@markNOSPAMrae.net> wrote in message
news:#EvhPqvn...@TK2MSFTNGP03.phx.gbl...