当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > jQuery AJax调用asp.net webservers的实现代码

ASP.NET
asp.net GridView控件中模板列CheckBox全选、反选、取消
asp.net GridView 删除时弹出确认对话框(包括内容提示)
asp.net DropDownList 三级联动下拉菜单实现代码
asp DataTable添加列和行的三种方法
Asp.net 页面调用javascript变量的值
asp.net 长文章通过设定的行数分页
asp.net 定时间点执行任务的简易解决办法
asp.net 页面延时五秒,跳转到另外的页面
asp.net 动态输出透明gif图片
asp.net DataList与Repeater用法区别
asp.net Javascript获取CheckBoxList的value
asp.net程序在调式和发布之间图片路径问题的解决方法
asp.net下生成英文字符数字验证码的代码
asp.net 页面版文本框智能提示JSCode (升级版)
ASP.NET URL伪静态重写实现方法
ASP.NET 2.0 中Forms安全认证
asp.net 动态添加多个用户控件
asp.net Repeater显示父子表数据,无闪烁
asp.net 无法获取的内部内容,因为该内容不是文本 的解决方法
asp.net GridView排序简单实现

ASP.NET 中的 jQuery AJax调用asp.net webservers的实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 41 ::
收藏到网摘: n/a

代码是转载来的 本来今天写的 但是到现在还没搞懂,惭愧啊 aspx页面代码
复制代码 代码如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
 <title></title>
  <script src="JQUERY.JS" type="text/javascript"></script>
  <style type="text/css"><!--
.hover
{
cursor: pointer; /*小手*/
background: #ffc; /*背景*/
}
.button
{
width: 150px;
float: left;
text-align: center;
margin: 10px;
padding: 10px;
border: 1px solid #888;
}
#dictionary
{
text-align: center;
font-size: 18px;
clear: both;
border-top: 3px solid #888;
}
#loading
{
border: 1px #000 solid;
background-color: #eee;
padding: 20px;
margin: 100px 0 0 200px;
position: absolute;
display: none;
}
  
--></style><style type="text/css" bogus="1"><!--
.hover
{
cursor: pointer; /*小手*/
background: #ffc; /*背景*/
}
.button
{
width: 150px;
float: left;
text-align: center;
margin: 10px;
padding: 10px;
border: 1px solid #888;
}
#dictionary
{
text-align: center;
font-size: 18px;
clear: both;
border-top: 3px solid #888;
}
#loading
{
border: 1px #000 solid;
background-color: #eee;
padding: 20px;
margin: 100px 0 0 200px;
position: absolute;
display: none;
}
  
--></style><style type="text/css" bogus="1" bogus="1">.hover
{
cursor: pointer; /*小手*/
background: #ffc; /*背景*/
}
.button
{
width: 150px;
float: left;
text-align: center;
margin: 10px;
padding: 10px;
border: 1px solid #888;
}
#dictionary
{
text-align: center;
font-size: 18px;
clear: both;
border-top: 3px solid #888;
}
#loading
{
border: 1px #000 solid;
background-color: #eee;
padding: 20px;
margin: 100px 0 0 200px;
position: absolute;
display: none;
}
  </style>
  <script type="text/javascript"><!--
    //无参数调用
    $(document).ready(function() {
      $('#btn1').click(function() {
        $.ajax({
          type: "POST",  //访问WebService使用Post方式请求
          contentType: "application/json", //WebService 会返回Json类型
          url: "WebService1.asmx/HelloWorld", //调用WebService的地址和方法名称组合 ---- WsURL/方法名
          data: "{}",     //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到   
          dataType: 'json',
          success: function(result) {   //回调函数,result,返回值
            $('#dictionary').append(result.d);
          }
        });
      });
    });
    //有参数调用
    $(document).ready(function() {
      $("#btn2").click(function() {
        $.ajax({
          type: "POST",
          contentType: "application/json",
          url: "WebService1.asmx/GetWish",
          data: "{value1:'心想事成',value2:'万事如意',value3:'牛牛牛',value4:2009}",
          dataType: 'json',
          success: function(result) {
            $('#dictionary').append(result.d);
          }
        });
      });
    });
    
    
    //返回集合(引用自网络,很说明问题)
    $(document).ready(function() {
      $("#btn3").click(function() {
        $.ajax({
          type: "POST",
          contentType: "application/json",
          url: "WebService1.asmx/GetArray",
          data: "{i:10}",
          dataType: 'json',
          success: function(result) {
            $(result.d).each(function() {
              //alert(this);
              $('#dictionary').append(this.toString() + " ");
              //alert(result.d.join(" | "));
            });
          }
        });
      });
    });
    //返回复合类型
    $(document).ready(function() {
      $('#btn4').click(function() {
        $.ajax({
          type: "POST",
          contentType: "application/json",
          url: "WebService1.asmx/GetClass",
          data: "{}",
          dataType: 'json',
          success: function(result) {
            $(result.d).each(function() {
              //alert(this);
              $('#dictionary').append(this['ID'] + " " + this['Value']);
              //alert(result.d.join(" | "));
            });
          }
        });
      });
    });
    //返回DataSet(XML)
    $(document).ready(function() {
      $('#btn5').click(function() {
        $.ajax({
          type: "POST",
          url: "WebService1.asmx/GetDataSet",
          data: "{}",
          dataType: 'xml', //返回的类型为XML ,和前面的Json,不一样了
          success: function(result) {
          //演示一下捕获
            try { 
              $(result).find("Table1").each(function() {
                $('#dictionary').append($(this).find("ID").text() + " " + $(this).find("Value").text());
              });
            }
            catch (e) {
              alert(e);
              return;
            }
          },
          error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数
            if (status == 'error') {
              alert(status);
            }
          }
        });
      });
    });
    //Ajax 为用户提供反馈,利用ajaxStart和ajaxStop 方法,演示ajax跟踪相关事件的回调,他们两个方法可以添加给jQuery对象在Ajax前后回调
    //但对与Ajax的监控,本身是全局性的
    $(document).ready(function() {
      $('#loading').ajaxStart(function() {
        $(this).show();
      }).ajaxStop(function() {
        $(this).hide();
      });
    });
    // 鼠标移入移出效果,多个元素的时候,可以使用“,”隔开
    $(document).ready(function() {
      $('div.button').hover(function() {
        $(this).addClass('hover');
      }, function() {
        $(this).removeClass('hover');
      });
    });
    
    
  
// --></script>
</head>
<body>
  <form id="form1" runat="server">
  <div id="switcher">
    <h2>
      jQuery 的WebServices 调用</h2>
    <div class="button" id="btn1">
      HelloWorld</div>
    <div class="button" id="btn2">
      传入参数</div>
    <div class="button" id="btn3">
      返回集合</div>
    <div class="button" id="btn4">
      返回复合类型</div>
    <div class="button" id="btn5">
      返回DataSet(XML)</div>
  </div>
  <div id="loading">
    服务器处理中,请稍后。
  </div>
  <div id="dictionary">
  </div>
  </form>
</body>
</html>

WebService1.asmx 代码
复制代码 代码如下:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Collections.Generic;
namespace jquery_Learning
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
/// <summary>
/// 无参数
/// </summary>
/// <returns></returns>
[WebMethod]
public string HelloWorld()
{
return "Hello World ";
}
/// <summary>
/// 带参数
/// </summary>
/// <param name="value1"></param>
/// <param name="value2"></param>
/// <param name="value3"></param>
/// <param name="value4"></param>
/// <returns></returns>
[WebMethod]
public string GetWish(string value1, string value2, string value3, int value4)
{
return string.Format("祝您在{3}年里 {0}、{1}、{2}", value1, value2, value3, value4);
}
/// <summary>
/// 返回集合
/// </summary>
/// <param name="i"></param>
/// <returns></returns>
[WebMethod]
public List<int> GetArray(int i)
{
List<int> list = new List<int>();
while (i >= 0)
{
list.Add(i--);
}
return list;
}
/// <summary>
/// 返回一个复合类型
/// </summary>
/// <returns></returns>
[WebMethod]
public Class1 GetClass()
{
return new Class1 { ID = "1", Value = "牛年大吉" };
}
/// <summary>
/// 返回XML
/// </summary>
/// <returns></returns>
[WebMethod]
public DataSet GetDataSet()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("ID", Type.GetType("System.String"));
dt.Columns.Add("Value", Type.GetType("System.String"));
DataRow dr = dt.NewRow();
dr["ID"] = "1";
dr["Value"] = "新年快乐";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = "2";
dr["Value"] = "万事如意";
dt.Rows.Add(dr);
ds.Tables.Add(dt);
return ds;
}
}
//自定义的类,只有两个属性
public class Class1
{
public string ID { get; set; }
public string Value { get; set; }
}
}