在后台调用javascript中的function

//菜鸟学习,纯属记录,只求会用,难求甚解,欢迎交流指点!
老版本过时的:
Page.RegisterClientScriptBlock("showDiv", "<script>ShowDiv()</script>")
Page.RegisterStartupScrip(string key,string scriptstring);//scriptstring要包含在<script></script>标签对中。
新版本:
第二种:
ClientScriptManager.RegisterClientScriptBlock("");
第三种:
ClientScriptManager.RegisterStartupScript("");
使用示例:
string str = "function()";//前台函数名
            ClientScriptManager cs = Page.ClientScript;
            cs.RegisterStartupScript(this.GetType(), "", str, true);
<html>
  <head>
    <script language="C#" runat="server">

      public void Page_Load(Object sender, EventArgs e)
      {

        if (!this.IsClientScriptBlockRegistered("clientScript"))
        {
          // Form the script that is to be registered at client side.
          String scriptString = "<script language=JavaScript> function DoClick() {";
          scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<";
          scriptString += "/";
          scriptString += "script>";        
	// Page.** 和 Reg**都可以
this.RegisterClientScriptBlock("clientScript", scriptString); 
       }   
   }    
 </script> 
 </head> 
 <body topmargin="20" leftmargin="10">  
   <form id="myForm" runat="server">     
   <input type="text" id="show" style="width=200">
 <input type="button" value="ClickMe" οnclick="DoClick()">     </form>  </body></html>

注意事项:

1、Response.Write输出后的位置在源文件的第一行.

   RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下).

   RegisterStartupScript输出后的位置会在</form>的上一行.

2、Response.Write和他们有什么本质区别?都是向前台输出script脚本,Response.Write()不能调用前台function?




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值