服务器端调用javascript函数的几种方法(参见新浪博客:希多希多)

首先就我个人而言,我最常用的第一种方法是:

       Response.Write("<script>alert('');</script>");

        Response.Write("<script  Type='javaScript'>alert();</script>");

1 例如:
2 Response.Write("<script>alert('账户已注册,请重新注册')</script>");

这种方法他是先服务端后客户端,当其执行完,我们查看html源文件会发现"<script  Type='javaScript'>alert();</script>"出现在源文件的最前门。他总是在html界面渲染前执行。所以你会发现当执行它时的页面都是空白的,就因为html页面还没加载。

   这种方法的缺点是:它无法调用脚本文件中的自定义函数,只能调用内部函数。如果想要调用自定义的函数,则只能在response.write()上写自定义函数。比如Response.Write("<script  type='text/javascript'>function(){.........}</script>");

 

方法2

1 例如2:
2 ClientScriptRegisterStartupScript(ClientScript.GetType(),"myScript","<script>MyFun();</script>")
3 
4 
5 ClientScriptRegisterStartupScript(ClientScript.GetType(),"myScript","<script>alert('Please  Drop it!');</script>");

这种方法则比第一种简单多了。它可以直接调用脚本自定义函数,并且可以在任何地方使用,前面说了Response.Write()是先Server后Client,,而ClientScriptRegisterStartupScript()则是先Client后Server。执行结束后在html源文件会发现它在html的最后加载了其调用的javascript语句。同时你在执行时也发现总是界面先加载它在执行。即html界面先渲染然后再执行其中的语句。

 

方法3

OnClientClick(vs2003不支持,其实我也知道,因为我没用过03,反正是话说不能用,呵呵)

 

例如3:

<asp:Button ID ="button1" Runat="Server" text ="button" OnClientClick ="client_click()"  OnClick="Button_Click"/>

  client_Click()就是javascript的一个方法,它是一个前台方法,可以替换成一般的脚本如: return confirm('确定要删除吗?');

 

方法4

  

                Button1.Attributes.Add("onclick", "return Client_Click()"); 通过添加属性的方法来调用。

 

方法5

ClientScript.RegisterStartupScript  此方法比较灵活

 

StringBuilder str  = new StringBuilder();
str.Append("<script language='javaScript'>");
str.Append("Button1_Click('"+ServerPath+"')");
str.append("</script>");
ClientScript.RegisterStartupScript(this.GetType(),"LoadScript”,str.ToString());

 

 

 

 

 

 

 

 

posted on 2012-07-19 21:26  雨 落  阅读(1245)  评论(0)    收藏  举报