我用的是 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 这个web服务,挺简单的,
用兴趣的同学可以先到 看看http://www.webxml.com.cn/WebServices/WeatherWebService.asmx这个网站,
然后添加一个web引用
具体代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WeatherTEst1.WebForm1" %>
<!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">
<div>
<p>
省份:
<asp:DropDownList ID="DropDownListProvince" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownListProvince_SelectedIndexChanged">
</asp:DropDownList>
城市:
<asp:DropDownList ID="DropDownListCity" runat="server">
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="查天气" οnclick="Button1_Click" />
</p>
<p>
<asp:Label ID="LabelToday" runat="server" Text="---"></asp:Label>
</p>
<p>
<asp:Label ID="LabelTomorrow" runat="server" Text="---"></asp:Label>
</p>
<p>
<asp:Label ID="LabelAfterTomorrow" runat="server" Text="---"></asp:Label>
</p>
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WeatherTEst1
{
public partial class WebForm1 : System.Web.UI.Page
{
//page laod
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindProvinceName();
}
}
ServiceReference1.WeatherWebServiceSoapClient client = new ServiceReference1.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
protected void BindCityName(string province)
{
this.DropDownListCity.Items.Clear();
foreach (string item in client.getSupportCity(province))
{
this.DropDownListCity.Items.Add(item);
}
}
protected void BindProvinceName()
{
foreach (string item in client.getSupportProvince())
{
this.DropDownListProvince.Items.Add(item);
}
}
protected void DropDownListProvince_SelectedIndexChanged(object sender, EventArgs e)
{
BindCityName(this.DropDownListProvince.SelectedItem.Text);
}
protected void Button1_Click(object sender, EventArgs e)
{
string code = this.DropDownListCity.SelectedItem.Text;
int index = code.IndexOf('(');
code = code.Substring(index+1, 5);
string [] allInfo = client.getWeatherbyCityName(code);
this.LabelToday.Text = allInfo[10];
this.LabelTomorrow.Text = allInfo[6];
this.LabelAfterTomorrow.Text = allInfo[13];
}
}//end class
}
可能这里写的不清晰,推荐另一篇博文: http://www.cnblogs.com/lzhp/archive/2013/01/13/2858559.html