JQuery直接调用asp.net后台WebMethod方法

简介:

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
[WebMethod]   命名空间


1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明
后台<C#>:

1
2
3
4
5
6
7
using System.Web.Script.Services;   
  
[WebMethod]   
public static string SayHello()   
{   
      return  "Hello Ajax!" ;   
}

前台<jQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$( function () {   
     $( "#btnOK" ).click( function () {   
         $.ajax({   
             //要用post方式   
             type:  "Post" ,   
             //方法所在页面和方法名   
             url:  "data.aspx/SayHello" ,   
             contentType:  "application/json; charset=utf-8" ,   
             dataType:  "json" ,   
             success:  function (data) {   
                 //返回的数据用data.d获取内容   
                 alert(data.d);   
             },   
             error:  function (err) {   
                 alert(err);   
             }   
         });   
  
         //禁用按钮的提交   
         return  false ;   
     });   
});

2、带参数的方法调用

后台<C#>:

1
2
3
4
5
6
7
using System.Web.Script.Services;  
    
[WebMethod]  
public static string GetStr(string str, string str2)  
{  
     return  str + str2;  
}

前台<JQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$( function () {     
     $( "#btnOK" ).click( function () {     
         $.ajax({     
             type:  "Post" ,     
             url:  "data.aspx/GetStr" ,     
             //方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字     
             data:  "{'str':'我是','str2':'XXX'}" ,     
             contentType:  "application/json; charset=utf-8" ,     
             dataType:  "json" ,     
             success:  function (data) {     
                 //返回的数据用data.d获取内容     
                   alert(data.d);     
             },     
             error:  function (err) {     
                 alert(err);     
             }     
         });     
    
         //禁用按钮的提交     
         return  false ;     
     });     
});

3、返回数组方法的调用

后台<C#>:

1
2
3
4
5
6
7
8
9
10
11
12
using System.Web.Script.Services;  
    
[WebMethod]  
public static List<string> GetArray()  
{  
     List<string> li =  new  List<string>();  
    
     for  (int i = 0; i < 10; i++)  
         li.Add(i +  "" );  
    
     return  li;  
}

前台<JQuery>:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
$( function () {     
     $( "#btnOK" ).click( function () {     
         $.ajax({     
             type:  "Post" ,     
             url:  "data.aspx/GetArray" ,     
             contentType:  "application/json; charset=utf-8" ,     
             dataType:  "json" ,     
             success:  function (data) {     
                 //插入前先清空ul     
                 $( "#list" ).html( "" );     
    
                 //递归获取数据     
                 $(data.d).each( function () {     
                     //插入结果到li里面     
                     $( "#list" ).append( "<li>"  this  "</li>" );     
                 });     
    
                 alert(data.d);     
             },     
             error:  function (err) {     
                 alert(err);     
             }     
         });     
    
         //禁用按钮的提交     
         return  false ;     
     });     
});   
/// <reference path="jquery-1.4.2-vsdoc.js"/>  
$( function () {  
     $( "#btnOK" ).click( function () {  
         $.ajax({  
             type:  "Post" ,  
             url:  "data.aspx/GetArray" ,  
             contentType:  "application/json; charset=utf-8" ,  
             dataType:  "json" ,  
             success:  function (data) {  
                 //插入前先清空ul  
                 $( "#list" ).html( "" );  
    
                 //递归获取数据  
                 $(data.d).each( function () {  
                     //插入结果到li里面  
                     $( "#list" ).append( "<li>"  this  "</li>" );  
                 });  
    
                 alert(data.d);  
             },  
             error:  function (err) {  
                 alert(err);  
             }  
         });  
    
         //禁用按钮的提交  
         return  false ;  
     });  
});
本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1904850
相关文章
|
1月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
1月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
|
1月前
|
数据库
分享一个 .NET EF 6 扩展 Where 的方法
分享一个 .NET EF 6 扩展 Where 的方法
|
1月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
1月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
|
1月前
|
开发框架 .NET API
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
|
1月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
2月前
|
算法 API 数据安全/隐私保护
.NET使用原生方法实现文件压缩和解压
.NET使用原生方法实现文件压缩和解压
.NET使用原生方法实现文件压缩和解压
|
3月前
|
存储 安全 C#
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
技术心得记录:强命名的延迟与关联在.net程序集保护中的作用及其逆向方法
|
3月前
|
JSON 数据格式 微服务
.NET下 支持大小写不敏感的JSON Schema验证方法
有很多应用程序在验证JSON数据的时候用到了JSON Schema。 在微服务架构下,有时候各个微服务由于各种历史原因,它们所生成的数据对JSON Object属性名的大小写规则可能并不统一,它们需要消费的JSON数据的属性名可能需要大小写无关。 遗憾的是,目前的JSON Schema没有这方面的标准,标准中都是大小写敏感的。在类似上述情况下,这给使用JSON Schema进行数据验证造成了困难。

相关课程

更多