zoukankan      html  css  js  c++  java
  • js 调用后台代码

    JavaScript调用ASP.NET后台代码:  


    方法一

            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方法为前台接受结果的方法。

    PageMethods例子:

    后台代码:

    一.无参数方法

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

    二.有参数方法

    [System.Web.Services.WebMethod]
        public static string ShowValue2(string msg)
        {
            return msg;

        }

    前端代码:

     <script type="text/javascript">  

           //调用后台无参数方法

            function bclick()
            {
                PageMethods.ShowValue(sshow);
            }
            
            function sshow(val)       //回传方法用val接受后台代码ShowValue的执行结果
            {
                document.getElementById("show").innerText = val;

            }

            //调用后台有参数方法

            function bclick2()
            {
                 var text = "test";
                 PageMethods.ShowValue2(text,sshow2);
            }
            
            function sshow2(val)       //回传方法用val接受后台代码ShowValue的执行结果
            {
                document.getElementById("show").innerText = val;
            }
     </script>
     
    <input id="Button1" type="button" value="click" onclick="bclick();" />
    <input id="Button2" type="button" value="click2" onclick="bclick2();" />
    <div id="show"></div>
  • 相关阅读:
    new function
    Confluence5.1 最新版的安装&破解&汉化
    ganglia 启动命令
    ganglia Web前端清除当机节点
    git初始化
    递归算法的时间复杂度分析
    tcp dump 截取http
    java.io.Serializable浅析
    java 复用类的三种方式区别 组合,继承,代理的区别
    Linux netstat命令详解
  • 原文地址:https://www.cnblogs.com/lk516924/p/4800720.html
Copyright © 2011-2022 走看看