• js 调用后台代码


    javascript函数中执行C#代码中的函数:    
      
      
    方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;    
            2、在前台写一个js函数,内容为document.getElementById("btn1").click();    
            3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;  
      
      
      
     方法二:1、函数声明为public                 
               后台代码(把public改成protected也可以)    
             无参数

    1   public string methodname()          //注意该方法不能为void,否则执行会报错  
    2            {    
    3   
    4               //在这之前可以做任何一些服务端的操作,可以不把返回值作为目的,而是要执行一些服务端的代码。  
    5               return  "";    
    6            }    

           有参数

           

    1 protected string CsharpVoid(string strCC)
    2 {
    3    strCC = "你好!" + strCC;
    4    return strCC;
    5 }


            2、在html里用<%=fucntion()%>可以调用    
               前台脚本    
              无参数

     <script language=javascript>  
      
                 
               var a = "<%=methodname()%>";    
               alert(a);    
      
               //如果只是要执行服务端的一些代码也可以写为如下,这样就可以执行服务端代码了  
      
               eval("<%=methodname()%>");         
      
               </script>  

    有参数

    1 function Init()
    2 2 {
    3 3   var v = "中国";
    4 4   var s = '<%=CsharpVoid("'+v+'") %>';
    5 5   alert(s);
    6 6 }


      
      
      
    方法三:  
      
    利用PageMethods调用后台代码  
      
      
      
    PageMethod方法介绍:  
      
      
      
    PageMethods.FunctionName(Paramter1,Parameter2,...,SuccessMethod, FailedMethod, userContext);  
    其中,前面Paramter1,Parameter2,...,表示的是FunctionName的参数,类型是Object或Array;  
    SuccessMethod是需要使用后台返回结果的Js方法,  
    FailedMethod是当后台的csFunctionName方法发生异常情况下的执行的Js方法(容错处理方法),  
    userContext是可以传递给SuccessMethod方法,或是FailedMethod方法的任意内容。  
      
      
      
    实现方法三按照以下步骤:  
      
      
      
    1.在后台创建方法,必须是static(静态的),方法必须是public类型的,否则访问不到会报异常,  
      
    接着要在该方法头部上加上[System.Web.Services.WebMethod],来标注方法特性。  
      
    2.在前台页面加入ScriptManager控件,并把其EnablePageMethods属性设为true。  
      
    3.调用PageMethods,由于该方法有很多重载,现在只说最简单的实现。  
      
    PageMethods.FunctionName(回调的js方法);      //其中FunctionName为后台创建的静态方法名,回调js方法为前台接受结果的方法。  
      
      
      
    例子:  
      
    后台代码:  
      
     

    [System.Web.Services.WebMethod]  
        public static string ShowValue()  
        {  
            return "js调用后台方法";  
      
        }  


      
      
      
    前台代码:  
      
     

     1 <script type="text/javascript">  
     2           
     3         function bclick()  
     4         {  
     5             PageMethods.ShowValue(sshow);  
     6         }  
     7           
     8         function sshow(val)       //回传方法用val接受后台代码ShowValue的执行结果  
     9         {  
    10             document.getElementById("show").innerText = val;  
    11         }  
    12           
    13          
    14     </script>  
    15   
    16   
    17   
    18 <input id="Button1" type="button" value="click" onclick="bclick();" />  
    19   
    20   <div id="show">  
    21    </div> 
  • 相关阅读:
    迭代器&可迭代对象
    递归&栈帧空间
    locals()和globals()
    闭包
    nonlocal和global
    LEGB
    python中编码问题
    关于dict的formkeys方法注意
    深浅拷贝
    通过远程连接批量查看zookeeper服务状态和判断主从节点
  • 原文地址:https://www.cnblogs.com/ymj126/p/2549467.html
Copyright © 2020-2023  润新知