苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5351|回复: 1

[Ajax] WebService和Ajax

[复制链接]
发表于 2012-7-10 11:05:22 | 显示全部楼层 |阅读模式
第一种把WebService写在页面之外的
看代码吧,我写的有注释大家应该一看就明白了
这是Ajax代码用来调用WebService里
[HTML] 纯文本查看 复制代码
<form id="form1" runat="server">
    <input type="button" id="button" value="Random" />
    <input type="button" id="button1" value="Random" />
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <%--在这里引入WebService--%>
            <%-- Path是路经, InlineScript ="true"打印出所有的方法,一般为False默认的 --%>
            <asp:ServiceReference  Path="~/WebService.asmx" />
        </Services>
    </asp:ScriptManager>
    <script language="javascript" type="text/javascript">
       //调用WebService里的方法
      function GetRandom(minValue,maxValue)
      {
            //在Script里不能直接,也不可能重载方法,用这种形式来重载是解决这个问题的一种方法,根据参数返回不同的值
           if(arguments .length!=2)
           {
               WebService.getRandom(getrandom);
           }else 
           {
               WebService.getRandomisMaxValueorMinValue(minValue ,maxValue,getrandom);
           }
      }
      //回调这个函数用于返回一个值
      function getrandom(result)
      {
           alert (result);
      }
    </script>
    </form>

webService里的代码
[C#] 纯文本查看 复制代码
using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.Script.Services;

/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
[ScriptService]
public class WebService : System.Web.Services.WebService
{
    public WebService()
    {
        //如果使用设计的组件,请取消注释以下行
        //InitializeComponent(); 
    }

    /// <summary>
    /// 产生一个随机数
    /// </summary>
    /// <returns>INT型</returns>
    [WebMethod]
    public int getRandom()
    {
        return new Random(DateTime.Now.Millisecond).Next();
    }

    /// <summary>
    /// 产生一在一定范围内的随机数
    /// </summary>
    /// <param name="MinValue">参数范围的最小值</param>
    /// <param name="MaxValue">参数范围的最大值</param>
    /// <returns>INT型</returns>
    [WebMethod]
    public int getRandomisMaxValueorMinValue(int MinValue, int MaxValue)
    {
        return new Random(DateTime.Now.Millisecond).Next(MinValue, MaxValue);
    }
}

第二种是在界面下面写的
[C#] 纯文本查看 复制代码
看代码吧
WebService代码
[mw_shl_code=csharp,true]//一个服务器端的WerService
    [WebMethod]
    public static DateTime getDateTime()
    {
        //显示的是带时区的时间
        return DateTime.UtcNow;
    }

[/code]

界面里调用的代码


[C#] 纯文本查看 复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageMethods.aspx.cs" Inherits="WebService_PageMethods" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <input type="button" value="time" />
    <%-- //这样做是不行的,会找不到方法--%>
    <%-- <asp:Button ID="Button1" runat="server" Text="Button"  OnClick ="Dateime()"/>--%>

    <script language="javascript" type="text/javascript">
    function Dateime()
    {
        PageMethods.getDateTime(getDatetime);
    }
    function getDatetime(result)
    {
       return alert(result);
    }
    </script>

    </form>
</body>
</html>



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2012-7-20 08:32:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-24 00:10

© 2014-2021

快速回复 返回顶部 返回列表