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> 
posted @ 2012-06-14 16:03  Jack.Y  阅读(6822)  评论(0编辑  收藏  举报