zoukankan      html  css  js  c++  java
  • 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>:

    $(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>:

    $(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>:

    $(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;
      });
    });

  • 相关阅读:
    车牌号验证正则验证
    人民币转大写
    Base64 格式图片上传至服务器
    郭博分析modbus主机模式
    解决小BUG的罗列
    写flash时为什么需要先擦除?
    C语言的很吊的printf-----来自一个C语言竞赛题目
    ( # #@ ## 在define中的应用)或( 连接两个字符串或者两个数字、强制转化成单引号、强制转化成双引号 )附加字符串强制转化成数字
    IAR无法goto的解决办法
    link list
  • 原文地址:https://www.cnblogs.com/chengeng/p/5799643.html
Copyright © 2011-2022 走看看