javascrip t函数中执行C#代码中的函数

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 @ 2013-01-24 09:59  zxh1141  阅读(342)  评论(0编辑  收藏  举报