js 调用后台代码(比较实用,好记) .

javascript函数中执行C#代码中的函数:   
 
 
方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;   
        2、在前台写一个js函数,内容为document.getElementById("btn1").click();   
        3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数; 
 
 
 
 方法二:1、函数声明为public                
           后台代码(把public改成protected也可以)   
           public string methodname()          //注意该方法不能为void,否则执行会报错 
           {   
 
              //在这之前可以做任何一些服务端的操作,可以不把返回值作为目的,而是要执行一些服务端的代码。 
              return  "";   
           }   
        2、在html里用<%=fucntion()%>可以调用   
           前台脚本   
           <script language=javascript> 
 
            
           var a = "<%=methodname()%>";   
           alert(a);   
 
           //如果只是要执行服务端的一些代码也可以写为如下,这样就可以执行服务端代码了 
 
           eval("<%=methodname()%>");        
 
           </script> 
 
 
 
方法三: 
 
利用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调用后台方法"; 
 
    } 
 
 
 
前台代码: 
 
 <script type="text/javascript"> 
         
        function bclick() 
        { 
            PageMethods.ShowValue(sshow); 
        } 
         
        function sshow(val)       //回传方法用val接受后台代码ShowValue的执行结果 
        { 
            document.getElementById("show").innerText = val; 
        } 
         
        
    </script> 
 
 
 
<input id="Button1" type="button" value="click" onclick="bclick();" /> 
 
  <div id="show"> 
   </div> 

posted @ 2012-04-01 13:06  你妹的sb  阅读(448)  评论(1编辑  收藏  举报
百度一下