后台调用 js 方法

 

 

 后台被调用的方法必须是public 或 protected
后台被调用的方法必须是静态的static

方法一:通过WebService来实现

步骤:

后台

Ø  首先引入命名空间(using System.Web.Services;)

Ø  然后定义公共的静态的方法(必须为public和static的,且静态方法不能访问外部的非静态变量,此时后台与前台相当于父类与子类的关系),并在该方法头部上加上[System.Web.Services.WebMethod],来标注方法特性。

前台

Ø  添加ScriptManager服务器控件,并把其EnablePageMethods属性设为true。

Ø  通过PageMethods方法调用后台定义的public、static方法

 

PageMethods方法简介:

PageMethods.FunctionName(Paramter1,Parameter2,...,funRight,funError, userContext);

1)      Paramter1,Parameter2,...,表示的是FunctionName的参数,类型是Object或Array; 

2)      funRight是方法调用成功后的回调函数,对返回值进行处理

3)      funError是当后台的FunctionName方法发生异常情况下的执行的Js方法(容错处理方法), 

4)      userContext是可以传递给SuccessMethod方法,或是FailedMethod方法的任意内容。

举例:

后台代码:

 

  

[html] view plain copy
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7. using System.Web.Services;  
  8. namespace WebApplication4  
  9. {  
  10.     public partial class WebForm10 : System.Web.UI.Page  
  11.     {  
  12.         protected void Page_Load(object sender, EventArgs e)  
  13.         {  
  14.   
  15.         }  
  16.         [WebMethod]  
  17.         public static string test1(string userName)  
  18.         {  
  19.             return "hello "+userName+", 这是通过WebService实现前台调用后台方法";  
  20.         }  
  21.     }  
  22. }  

 

 

 

 

前台代码:

 

  

[html] view plain copy
 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm10.aspx.cs" Inherits="WebApplication4.WebForm10" %>  
  2. <!DOCTYPE html>  
  3. <html xmlns="http://www.w3.org/1999/xhtml">  
  4. <head runat="server">  
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  6.     <title></title>  
  7. </head>  
  8. <body>  
  9.     <form id="form1" runat="server">  
  10.         <%--引入ScriptManager服务器控件--%>  
  11.         <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>  
  12.         <script type="text/javascript">  
  13.             function bclick() {  
  14.                 PageMethods.test1("zhipeng", funRight);  
  15.             }  
  16.   
  17.             function funRight(val)       //回调函数,用val接受后台代码test1的执行结果    
  18.             {  
  19.                 alert(val);               
  20.             }  
  21.         </script>  
  22.         <input id="Button1" type="button" value="方法测试" onclick="bclick()" />//点击按钮会弹出对话框“通过WebService实现前台调用后台方法”  
  23.     </form>  
  24. </body>  
  25. </html>  

 

 

 

 

点击按钮弹出如下对话框:

 

  aspx 页面中  js  引用与页面后台的数据交互 --【 js 调后台】

 

 

 

( 二 )

[WebMethod] 
public static string SayHello(string name)
{
return name+"Hello !";
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2017-11-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案