环境: vs2005 vb.net
说明:弹出消息框后,窗口不变白,但编辑中"RegisterStartupScript" 提示已过时.
dim str as string
str = "<script> alert(""提示信息"")</script>"
page.RegisterStartupScript("alert",str)
ASP.NET后台中调用前台Javascript函数
第一种:感觉用起来最方便。
Button1.Attributes.Add("onclick","return OnBtnClick()");
"OnBtnClick()"是一个前台方法,在此方法中直接在前台处理数据。可以替换成一般的脚本。
第二种:OnClientClick。
<asp:ButtonID="Button1" runat="server" Text="Button" OnClientClick="OnClientClick()"nClick="Button1_Click" /> Button1_Click是在cs中(后台)处理的方法,而OnClientClick()就是javascript(前台)的处理函数。
第三种:用ClientScript类动态添加脚本.
用法如下:在想调用某个javascript脚本函数的地方添加代码,注意要保证MyFun已经在脚本文件中定义过了。
ClientScript.RegisterStartupScript(ClientScript.GetType(),"myscript","<script>MyFun();</script>");
这个方法比Response.Write更方便一些,可以直接调用脚本文件中的自定义函数。
第四种:ClientScript.RegisterStartupScript。
例子:StringBuilder sb = newStringBuilder(); sb.Append("<scriptlanguage='javascript'>"); sb.Append("Button2_onclick('" + serverPath + "')"); sb.Append("</script>"); ClientScript.RegisterStartupScript(this.GetType(), "LoadPicScript",sb.ToString());
第五种:用Response.Write方法写入脚本。
比如在你单击按钮后,先操作数据库,完了后显示已经完成,可以在最后想调用的地方写上Response.Write("<scripttype='text/javascript'>alert();</script>");
这个方法有个缺陷就是不能调用脚本文件中的自定义的函数,只能调用内部函数,具体调用自定义的函数只能在Response.Write写上函数定义,比如Response.Write("<scripttype='text/javascript'>functionmyfun(){...}</script>");
这种方法不断可以从后台绑定前台的方法,还可以从cpp语言环境中绑定前台的方法