Chinaunix首页 | 论坛 | 博客
  • 博客访问: 199128
  • 博文数量: 163
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 11:41
文章分类

全部博文(163)

文章存档

2011年(1)

2009年(162)

我的朋友

分类:

2009-06-17 17:42:22

系统环境:windows Server 2003 + IIS6
  开发环境:Visual webDeveloper 2005速成版 + asp.net AJAX 1.0
  使用目的:无刷新调用服务器端的Web Service
  实现关键:ScriptManager + ScriptService

  安装ASP.NET AJAX1.0后,在VS中建立网站时多了一个选项:ASP.NET AJAX-Enabled Web Site,选择这一个可以创建一个已经配置好使用AJAX的网站(主要是web.config)里的配置,做个最简单的:

  1、新建一个ASP.NET AJAX-Enabled Web Site(HTTP/FTP/文件系统都可以),这时默认的Default.aspx已经包括了对ScriptManager的引用

  2、在项目中添加一个Web Service文件,取名为TestService.asmx,代码如下:

using System;using System.Web;using System.Collections;using System.Web.Services;using System.Web.Services.Protocols;using System.Web.Script.Services;   //注意[WebService(Namespace = "http://www.cnblogs.com/dingxue")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)][ScriptService]     //注意public class TestService : System.Web.Services.WebService {public TestService () {}[WebMethod]public string Merge(string a, string b){return a + b;}}


  上面带注释的两行是为了使此WEB服务可以被AJAX调用而加的,是必须的。这个WEB服务非常简单,有一个Merge方法,接受两个string类型的参数,并连接这两个字符串后返回。

  3、修改Default.aspx文件中对ScriptManager的定义,以添加对刚才WEB Service的引用,代码如下:

< asp:ScriptManager id=ScriptManager1 runat="server">

< SERVICES>

< asp:ServiceReference Path="TestService.asmx">

Services>

asp:ScriptManager>

  asp:ServiceReference实现了对一个Web Service的引用,Path属性指示了Web Service文件的位置

  4、添加测试用的Html控件,三个文本框,两个用于输入,一个用于显示结果,还有一个按钮是用来执行的,如下:

< input id="txt1" size="5" type="text" /> +

< input id="txt2" size="5" type="text" /> =

< input id="txt3" size="10" type="text" />

< input type="button" value="Merge" onclick="MergeIt( )" / >

  5. 最后实现MergetIt(),用来实现最终调用:

阅读(412) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~