利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
[WebMethod] 命名空间
1、无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明
后台<C#>:
- using System.Web.Script.Services;
-
- [WebMethod]
- public static string SayHello()
- {
- return "Hello Ajax!";
- }
前台<JQuery>:
- $(function() {
- $("#btnOK").click(function() {
- $.ajax({
-
- type: "Post",
-
- url: "data.aspx/SayHello",
- contentType: "application/json; charset=utf-8",
- dataType: "json",
- success: function(data) {
-
- alert(data.d);
- },
- error: function(err) {
- alert(err);
- }
- });
-
-
- return false;
- });
- });
2、带参数的方法调用
后台<C#>:
- using System.Web.Script.Services;
-
- [WebMethod]
- public static string GetStr(string str, string str2)
- {
- return str + str2;
- }
前台<JQuery>:
- $(function() {
- $("#btnOK").click(function() {
- $.ajax({
- type: "Post",
- url: "data.aspx/GetStr",
-
- data: "{‘str‘:‘我是‘,‘str2‘:‘XXX‘}",
- contentType: "application/json; charset=utf-8",
- dataType: "json",
- success: function(data) {
-
- alert(data.d);
- },
- error: function(err) {
- alert(err);
- }
- });
-
-
- return false;
- });
- });
3、返回数组方法的调用
后台<C#>:
- 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>:
- $(function() {
- $("#btnOK").click(function() {
- $.ajax({
- type: "Post",
- url: "data.aspx/GetArray",
- contentType: "application/json; charset=utf-8",
- dataType: "json",
- success: function(data) {
-
- $("#list").html("");
-
-
- $(data.d).each(function() {
-
- $("#list").append("<li>" + this + "</li>");
- });
-
- alert(data.d);
- },
- error: function(err) {
- alert(err);
- }
- });
-
-
- return false;
- });
- });
- $(function() {
- $("#btnOK").click(function() {
- $.ajax({
- type: "Post",
- url: "data.aspx/GetArray",
- contentType: "application/json; charset=utf-8",
- dataType: "json",
- success: function(data) {
-
- $("#list").html("");
-
-
- $(data.d).each(function() {
-
- $("#list").append("<li>" + this + "</li>");
- });
-
- alert(data.d);
- },
- error: function(err) {
- alert(err);
- }
- });
-
-
- return false;
- });
- });
JQuery直接调用asp.net后台WebMethod方法
原文:http://www.cnblogs.com/lschenblog/p/3938756.html