Javascript (js)调用后台代码方法汇总

来源:互联网 发布:innisfree 男士淘宝 编辑:程序博客网 时间:2024/05/16 08:55
  1. javascript函数中执行C#代码中的函数:    
  2.   
  3.   
  4. 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;    
  5.         2、在前台写一个js函数,内容为document.getElementById("btn1").click();    
  6.         3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;  
  7.   
  8.   
  9.   
  10.  方法二:1、函数声明为public                 
  11.            后台代码(把public改成protected也可以)    
  12.            public string methodname()          //注意该方法不能为void,否则执行会报错  
  13.            {    
  14.   
  15.               //在这之前可以做任何一些服务端的操作,可以不把返回值作为目的,而是要执行一些服务端的代码。  
  16.               return  "";    
  17.            }    
  18.         2、在html里用<%=fucntion()%>可以调用    
  19.            前台脚本    
  20.            <script language=javascript>  
  21.   
  22.              
  23.            var a = "<%=methodname()%>";    
  24.            alert(a);    
  25.   
  26.            //如果只是要执行服务端的一些代码也可以写为如下,这样就可以执行服务端代码了  
  27.   
  28.            eval("<%=methodname()%>");         
  29.   
  30.            </script>  
  31.   
  32.   
  33.   
  34. 方法三:  
  35.   
  36. 利用PageMethods调用后台代码  
  37.   
  38.   
  39.   
  40. PageMethod方法介绍:  
  41.   
  42.   
  43.   
  44. PageMethods.FunctionName(Paramter1,Parameter2,...,SuccessMethod, FailedMethod, userContext);  
  45. 其中,前面Paramter1,Parameter2,...,表示的是FunctionName的参数,类型是Object或Array;  
  46. SuccessMethod是需要使用后台返回结果的Js方法,  
  47. FailedMethod是当后台的csFunctionName方法发生异常情况下的执行的Js方法(容错处理方法),  
  48. userContext是可以传递给SuccessMethod方法,或是FailedMethod方法的任意内容。  
  49.   
  50.   
  51.   
  52. 实现方法三按照以下步骤:  
  53.   
  54.   
  55.   
  56. 1.在后台创建方法,必须是static(静态的),方法必须是public类型的,否则访问不到会报异常,  
  57.   
  58. 接着要在该方法头部上加上[System.Web.Services.WebMethod],来标注方法特性。  
  59.   
  60. 2.在前台页面加入ScriptManager控件,并把其EnablePageMethods属性设为true。  
  61.   
  62. 3.调用PageMethods,由于该方法有很多重载,现在只说最简单的实现。  
  63.   
  64. PageMethods.FunctionName(回调的js方法);      //其中FunctionName为后台创建的静态方法名,回调js方法为前台接受结果的方法。  
  65.   
  66.   
  67.   
  68. 例子:  
  69.   
  70. 后台代码:  
  71.   
  72.  [System.Web.Services.WebMethod]  
  73.     public static string ShowValue()  
  74.     {  
  75.         return "js调用后台方法";  
  76.   
  77.     }  
  78.   
  79.   
  80.   
  81. 前台代码:  
  82.   
  83.  <script type="text/javascript">  
  84.           
  85.         function bclick()  
  86.         {  
  87.             PageMethods.ShowValue(sshow);  
  88.         }  
  89.           
  90.         function sshow(val)       //回传方法用val接受后台代码ShowValue的执行结果  
  91.         {  
  92.             document.getElementById("show").innerText = val;  
  93.         }  
  94.           
  95.          
  96.     </script>  
  97.   
  98.   
  99.   
  100. <input id="Button1" type="button" value="click" onclick="bclick();" />  
  101.   
  102.   <div id="show">  
  103.    </div>  
原创粉丝点击