ASP.NET AJAX调用WebService
如何在客户端直接调用WebService中的方法?
这里结合经验自己写一写
1.首先新建一个 ASP.NET AJAX-Enabled Web Site,这样系统为我们自动配置好了环境,这主要体现在Web.config这个文件上,如果已有网站不是ASP.NET AJAX-Enabled Web Site也可以对照修改下Web.config,也可以达到相同的效果。
2.新建一个web服务,WebService.asmx,在WebService.cs需要添加System.Web.Script.Services;这个命名空间:
using System.Web.Script.Services;
然后给WebService 类添加[ScriptService]属性这里先说步骤,后面说原理,然后给我们需要调用的方法加上
[WebMethod]属性
3.新建一个JScript文件,JScript.js,里面用来响应界面事件处理回调方法返回的数据
4.新建一个页面Default.aspx,如果是ASP.NET AJAX-Enabled Web Site页面上会自动添加ScriptManager控件,如果不是只要手工拖上去一个,然后给ScriptManager添加Script节点,这个节点用来指定要使用的js文件
<Scripts><asp:ScriptReference Path="~/JScript.js" /></Scripts>
再给ScriptManager添加Services节点,这个节点用来指定要使用的WebService
<Services><asp:ServiceReference Path="~/WebService.asmx" /></Services>
这些工作完成后只要在界面上某个控件或者某个地方调用我们的js方法就可以了。
说的是调用本地的WebService,如果是调用网上的WebService,原理也是一样,不过需要添加点东西,就拿“一些常用的WebServices”中的第一个WebService来说吧,天气预报Web服务,在网站上添加web引用,
在url地址中填入地址服务地址,前往,然后添加引用就可以了,其它处理和本地一样。
贴一下代码,包括本地的web服务和远程web服务
I.Default.aspx代码:
<html xmlns="[color=#000000]http://www.w3.org/1999/xhtml[/color]">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
<Scripts>
相关文档:
在本演练中,将使用三个 ASP.NET AJAX 服务器控件(ScriptManager 控件、UpdatePanel 控件和 Timer 控件)按固定的时间间隔更新部分网页。通过将这些控件添加到网页上,可消除在每次回发时刷新整个页面的需要。将只需更新 UpdatePanel 控件的内容。
1、在 Microsoft Visual Studio 2005 ......
just get a json
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<mce:script src="jquery-1.3.2.min.js" mce_src="jq ......
这个类摘自: ASP.NET Ajax典型应用 一书
xmlhttp.js
function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
elem ......
3个文件
code 类文件
using System;
using System.Text;
namespace ConcreteMIS.Common.Chinese
{
/// <summary>
/// 汉字拼音声母计算类
/// Write by WangZhenlong at 2003/11/29
/// </summary>
......
DateTime dt = DateTime.Now;
//本月第一天时间
DateTime dt_First = dt.AddDays(-(dt.Day) + 1);
Label1.Text = dt_First.ToString("yyyy-MM-dd");
//将本月月数+1
DateTime dt2 = dt.AddMonths(1);
//本月最后一天时间
DateTime dt_Last = dt2.AddDays( ......