Home > Backend Development > C#.Net Tutorial > A simple method to directly call the asp.net background using JQuery

A simple method to directly call the asp.net background using JQuery

高洛峰
Release: 2016-12-08 15:55:56
Original
1145 people have browsed it

Using JQuery’s $.ajax() can easily call asp.net’s background methods.

[WebMethod] Namespace

1. Method call without parameters, note: 1. The method must be a static method, and it must have the declaration of [WebMethod]

Backend:

using System.Web.Script.Services;
  
[WebMethod]
public static string SayHello()
{
   return "Hello
 Ajax!";
}
Copy after login

Frontend:

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

2. Method call with parameters

Backend:

using System.Web.Script.Services;
  
[WebMethod]
public static string GetStr(string str,
string str2)
{
  return str
 + str2;
}
Copy after login

Frontend:

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

3. Return array method call

Backend:

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;
}
Copy after login

Frontend:

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

4. Return Hashtable method call

Backend

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;
}
Copy after login

Front Desk:

$(function()
 { 
  $("#btnOK").click(function()
 { 
    $.ajax({
      type:
"Post",
      url:
"data.aspx/GetHash",
      //记得加双引号
 T_T 
      data:
"{
 &#39;key&#39;: &#39;haha&#39;, &#39;value&#39;: &#39;哈哈!&#39; }",
      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;
  });
});
Copy after login

5. Operation xml

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>
Copy after login

Front Desk:

$(function()
 { 
  $("#btnOK").click(function()
 { 
    $.ajax({
      url:
"XMLtest.xml",
      dataType:
&#39;xml&#39;,
//返回的类型为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;
  });
});
Copy after login


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template