the OnClient executes first because that event happens first... you could registerclientscriptblock and have that run after the server side code?
something like
Code:
Protected Sub Button1_Click (ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
'Your server side code here
Dim strScript As New StringBuilder
strScript.Append("<script language='javascript' type='text/javascript'>")
strScript.Append("alert('This alert is happening after the post back!');")
strScript.Append("</" & "script>")
Page.ClientScript.RegisterClientScriptBlock(Page.GetType, "ClientScript", strScript.ToString, False)
End Sub