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

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。

[WebMethod]   命名空间

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

后台<C#>:

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#>:

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#>:

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;

    });

});

4、返回Hashtable方法的调用

后台<C#>:

using System.Web.Script.Services;
using System.Collections;

[WebMethod]
public static Hashtable GetHash(string key,string value)
{
    Hashtable hs = new Hashtable();

    hs.Add("www", "yahooooooo");
    hs.Add(key, value);

    return hs;
}

前台<JQuery>:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

$(function() {  

    $("#btnOK").click(function() {  

        $.ajax({  

            type: "Post",  

            url: "data.aspx/GetHash",  

            //记得加双引号 T_T  

            data: "{ ‘key‘: ‘haha‘, ‘value‘: ‘哈哈!‘ }",  

            contentType: "application/json; charset=utf-8",  

            dataType: "json",  

            success: function(data) {  

                alert("key: haha ==> "+data.d["haha"]+"\n key: www ==> "+data.d["www"]);  

            },  

            error: function(err) {  

                alert(err + "err");  

            }  

        });  

        //禁用按钮的提交  

        return false;  

    });  

});

5、操作xml


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

XMLtest.xml:

view plaincopy to clipboardprint?

<?xml version="1.0" encoding="utf-8" ?>

<data>

<item>

    <id>1</id>

    <name>qwe</name>

</item>

<item>

    <id>2</id>

    <name>asd</name>

</item>

</data>

<?xml version="1.0" encoding="utf-8" ?>

<data>

<item>

    <id>1</id>

    <name>qwe</name>

</item>

<item>

    <id>2</id>

    <name>asd</name>

</item>

</data>

前台<JQuery>:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$(function() {  

    $("#btnOK").click(function() {  

        $.ajax({  

            url: "XMLtest.xml",  

            dataType: ‘xml‘, //返回的类型为XML ,和前面的Json,不一样了  

            success: function(xml) {  

                //清空list  

                $("#list").html("");  

                //查找xml元素

                $(xml).find("data>item").each(function() {  

                    $("#list").append("<li>id:" + $(this).find("id").text() +"</li>");  

                    $("#list").append("<li>Name:"+ $(this).find("name").text() + "</li>");  

                })  

            },  

            error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数  

                alert(status);  

            }  

        });  

        //禁用按钮的提交  

        return false;  

    });  

});

时间: 2024-10-21 21:20:21

利用JQuery直接调用asp.net后台方法的相关文章

JQuery Ajax调用asp.net后台方法

出处:http://www.cnblogs.com/kingboy2008/ 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先来个简单的实例热热身吧. 1.无参数的方法调用 asp.net code: 1 2 3 4 5 6 7 using System.Web.Script.Services;      [WebMethod]   public static string SayHello()   {        return "Hello Ajax!&quo

.Net中jQuery.ajax()调用asp.net后台方法 总结

利用JQuery的$.ajax()调用.Net后台方法有多种方式, 不多说了  直接上代码 前台代码 1 <script type="text/javascript"> 2 3 $(document).ready(function () { 4 getTreeData(getData()); 5 }); 6 7 //获取ajax调用传参方法 8 function getData() { 9 var data = {}; 10 data.username = "an

JS调用asp.net后台方法:PageMethods

先帮朋友宣传一下程序人生(http://www.manong123.com)的网站,里面都是开发感悟,开发人员创业,支持一下吧~ 原来是通过PageMethods来实现的. 举个列子: Default.aspx 里代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <

ajax 调用asp.net后台方法

ajax 调用asp.net后台方法  这种做法有好几种,如调用xx.asxh 页面,或者直接调用xx.aspx也面,在page_Load中进行一些判断然后调用后面的其他方法, 或者你可以直接调用webservice: 今天我简单总结一中方法,前提是:net Framework 4.0以上的版本才支持滴呀(包括4.0),也就是说:2.0 和 3.0 都不支持滴呀 前端写法: <%@ Page Language="C#" AutoEventWireup="true&quo

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

利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.[WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明后台<C#>: using System.Web.Script.Services; [WebMethod] public static string SayHello() { return "Hello Ajax!"; } 前台<JQuery>: $(funct

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

转自  http://blog.csdn.net/handsometone1982/article/details/7684894 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法.[WebMethod]   命名空间 1.无参数的方法调用, 注意:1.方法一定要静态方法,而且要有[WebMethod]的声明后台<C#>: [csharp] view plaincopy using System.Web.Script.Services; [WebMethod] pub

JQuery ajax调用asp.net的webMethod

在vs2010中,用JQuery ajax调用asp.net 2.0的  webMethod 方法时,怎么都调不出来,原来和3.5 有点出入. 3.5中,无需特殊设置,可以直接用$.ajax调用在aspx.cs中,访问级别public,静态的,标记为[webmethod]的方法. aspx.cs: using System.Web.Services; [WebMethod] public static string PollCount() { …… return getResultHTML(ds

asp.net如何在前台利用jquery Ajax调用后台方法

一 :最近因为帮同事开发项目使用到了asp.net,而我又想实现Ajax异步请求....从网上查询了一下资料之后,原来在asp.net中利用Ajax调用后台方法同样很简单,为了便于自己以后查看,特将此整理后记录如下 先贴上前台代码如下: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="aspnetAjax.In

Js调用asp.net后台代码

方法一:         1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为document.getElementById("btn1").click() 或者document.getElementById("btn1").onclick() 3.在前台或后台调用js函数,激发click事件,等于访问后台c#函数: 方法一:直接使用<%=%>调用 前台方法: <script type=&