http://www./WebServices/WeatherWebservice.asmx天气web service网站实例讲解
步骤:
1.创建web引用。
首先建立个网站解决方案“website1",右击 website1"网站解决方案,选择“添加web引用”,出现对话框

在URL一栏里面加入web service网站网址,例如“http://www./WebServices/WeatherWebservice.asmx”
之后单击“前往”按钮,得到如下截图效果

之后单击“添加引用”按钮,对话框关闭,你的解决方案里面就多了一个包含多层文件夹的东西,截图如下

这样,你的添加引用就成功了。但是要在C#后台调用他,你还要继续步骤二。
步骤二:创建个默认文件weathers.aspx文件(自动生成后台weathers.aspx.cs文件)。
1.在weathers.aspx文件里面输入以下代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="weathers.aspx.cs" Inherits="weathers" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml">
<head runat="server">
<title>天气情况</title>
</head>
<body>
<form id="form1" runat="server">
<table style="width:100%; background-color: #CCFFFF;" cellpadding="0"
cellspacing="0">
<tr>
<td style="line-height: 80px; font-size: large; color: #FF0000; height: 80px;"
colspan="2" align="center">
国内外主要城市3天气天气预报实例
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder; width: 189px;">
选择省/洲:<asp:DropDownList ID="DropDownList1" runat="server"
onselectedindexchanged="DropDownList1_SelectedIndexChanged"
AutoPostBack="True">
</asp:DropDownList>
</td>
<td style=" font-size: medium; font-weight: bolder;">
选择城市:<asp:DropDownList ID="DropDownList2" runat="server"
onselectedindexchanged="DropDownList2_SelectedIndexChanged"
AutoPostBack="True">
</asp:DropDownList>
</td>
</tr>
<tr>
<td style="width: 189px">
</td>
<td align="right">
<asp:Label ID="Label7" runat="server" Text="Label" ForeColor="Red" ></asp:Label>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
今日实况</td>
<td style="height: 22px">
<asp:Label ID="Label9" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
天气预报(今天)</td>
<td>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Image ID="Image2" runat="server" />
<asp:Image ID="Image3" runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
今天指数</td>
<td>
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
天气预报(明天)</td>
<td>
<asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
<asp:Image ID="Image4" runat="server" />
<asp:Image ID="Image5" runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
天气预报(后天)</td>
<td>
<asp:Label ID="Label5" runat="server" Text="Label"></asp:Label>
<asp:Image ID="Image6" runat="server" />
<asp:Image ID="Image7" runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
</td>
</tr>
<tr>
<td style=" font-size: medium; font-weight: bolder;">
城市介绍</td>
<td>
</td>
</tr>
<tr>
<td style="width: 189px">
<asp:Image ID="Image1" runat="server" Height="130px" Width="210px" />
</td>
<td>
<asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>
</td>
</tr>
<tr>
<td style="width: 189px">
</td>
<td>
</td>
</tr>
<tr>
<td style="width: 189px">
</td>
<td align="right">
预报时间:<asp:Label ID="Label8" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
</form>
</body>
</html>
2.在default1.aspx.cs文件里面输入以下代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using cn.com.webxml.www; //注意此处就是引用web 服务的引用申明,注意不要把App_WebReferences加入进去
//并且注意cn.com.webxml.www是倒过来写的,相对于网址而言,但是是符合文件夹的层次关系的
public partial class weathers : System.Web.UI.Page
{
WeatherWebService weatherClass = new WeatherWebService();
protected void Page_Load(object sender, EventArgs e)
{
try
{
DataSet ds = weatherClass.getSupportDataSet();
if (!IsPostBack)
{
DataTable dt = ds.Tables[0];
DropDownList1.DataSource = dt;
DropDownList1.DataValueField = "ID";
DropDownList1.DataTextField = "Zone";
DropDownList1.DataBind();
DropDownList2.SelectedIndex = 1;
CityDataBind("1");
GetWeatherByCode("58367");
}
}
catch (Exception exp)
{
Console.WriteLine("Error"); ;
}
}
protected void CityDataBind(string zoneID)
{
DataView dv = new DataView(weatherClass.getSupportDataSet().Tables[1]);
dv.RowFilter = "[ZoneID]=" + zoneID;
DropDownList2.DataSource = dv;
DropDownList2.DataTextField = "Area";
DropDownList2.DataValueField = "AreaCode";
DropDownList2.DataBind();
DropDownList2.Items.Insert(0, new ListItem("选择城市", "0"));
DropDownList2.SelectedIndex = 0;
}
protected void GetWeatherByCode(string cityCode)
{
String[] wa = weatherClass.getWeatherbyCityName(cityCode.Trim());
Label9.Text = wa[10];
Label1.Text = wa[6] + " " + wa[5] + " " + wa[7];
Label4.Text = wa[13] + " " + wa[12] + " " + wa[14];
Label5.Text = wa[18] + " " + wa[17] + " " + wa[19];
Label3.Text = wa[11].Replace("\n", "<br/>");
Label6.Text = wa[22].Replace("\n", "<br/>");
Label8.Text = DateTime.Parse(wa[4]).ToString("yyyy年MM月dd日 HH:mm");
Label7.Text = wa[0] + "/" + wa[1];
Image2.ImageUrl = "~/img/weather/" + wa[8];
Image3.ImageUrl = "~/img/weather/" + wa[9];
Image4.ImageUrl = "~/img/weather/" + wa[15];
Image5.ImageUrl = "~/img/weather/" + wa[16];
Image6.ImageUrl = "~/img/weather/" + wa[20];
Image7.ImageUrl = "~/img/weather/" + wa[21];
Image1.ImageUrl = "http://www.cma.gov.cn/tqyb/img/city/" + wa[3];
Image1.AlternateText = DropDownList2.SelectedItem.Text;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
CityDataBind(DropDownList1.SelectedItem.Value.Trim());
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList2.Items[0].Value == "0")
{
DropDownList2.Items.RemoveAt(0);
}
GetWeatherByCode(DropDownList2.SelectedItem.Value.Trim());
}
}
好的,这里就实验成功了。调试运行一下,一定成功了吧!截图如下:

注:这里需要注意的是中间的一些图片需要自己加到解决方案里去。