JavaScript调用后台方法(转)

本文详细介绍了在ASP.NET中通过三种方式调用后台方法:直接使用`<%= %>`调用、AJAX调用以及使用AjaxPro库调用。通过实例展示了如何实现前后台数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:直接使用<%=%>调用

前台JS:

 

[javascript] view plain copy print ?
  1. <script type="text/javascript">  
  2.        var methodStr = "<%=BehindMethod() %>";  
  3.        alert(methodStr);  
  4.        </script>  
 <script type="text/javascript">
        var methodStr = "<%=BehindMethod() %>";
        alert(methodStr);
        </script>

后头方法:

 

 

[csharp] view plain copy print ?
  1. public static string BehindMethod()  
  2.         {  
  3.             return "这是一个后台的方法";  
  4.         }  
public static string BehindMethod()
        {
            return "这是一个后台的方法";
        }

方法二:用ajax调用

 

 需要标识为WebMethod  [System.Web.Services.WebMethod] // 注意,要让前台调用的方法,一定要是public和static的  public static string aaa(string name) {     string result = "Hello:" + name;     return result; }

 

 <script type="text/javascript">         function btnClick(){             // 调用页面后台方法,前面跟方法所需的参数,接着是方法回调成功时要执行的js函数,最后一个是方法回调失败时要执行的js函数             PageMethods.aaa("you",funReady,funError);         }                 // result 就是后台方法返回的数据         function funReady(result){             alert(result);         }         // err 就是后台方法返回的错误信息         function funError(err){             alert("Error:" + err._message );         }      </script>

 

 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />         <input type="button" onclick="btnClick()" value="test" />

方法三:AjaxPro (也是ajax)

 第一步:下载AjaxPro.dll(或者AjaxPro.2.dll),并且添加引用到项目

第二步:修改配置文件web.config  

[csharp] view plain copy print ?
  1. <system.web>  
  2. <httpHandlers>  
  3.       <!--注册ajaxPro.2-->  
  4.       <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>  
  5.     </httpHandlers>  
  6.   </system.web>  
<system.web>
<httpHandlers>
      <!--注册ajaxPro.2-->
      <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    </httpHandlers>
  </system.web>

第三步:对AjaxPro在页Page_Load事件中进行运行时注册。如:

[csharp] view plain copy print ?
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.     AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo));  //注册  
  4. }  
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo));  //注册
        }

第四步:创建服务器方法,并且用[AjaxPro.AjaxMethod]标注

 

[csharp] view plain copy print ?
  1. [AjaxPro.AjaxMethod]  
  2. public string GetImgByAjaxPro()  
  3. {  
  4.     return "image/54222860.jpg";  
  5. }  
        [AjaxPro.AjaxMethod]
        public string GetImgByAjaxPro()
        {
            return "image/54222860.jpg";
        }

第五步:前台JS的调用:

 

[javascript] view plain copy print ?
  1. function GetMethodByAjaxPro() {  
  2.            var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类  
  3.            document.getElementById("imgAjaxPro").src = a.value;  
  4.        }  
 function GetMethodByAjaxPro() {
            var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是当前的名字空间,AjaxDemo表示后台类
            document.getElementById("imgAjaxPro").src = a.value;
        }

转载于:https://www.cnblogs.com/joyosblogs/p/3374125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值