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" οnclick="bclick();" />
<input id="Button2" type="button" value="click2" οnclick="bclick2();" />
<div id="show"></div>








 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

习惯就好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值