ASP.NET 利用Web Service获取天气预报
◆ 实例说明
本实例实现的是利用Web Service来实时获取天气预报,通过选择省份并选择所要查询的城市来获取该城市的天气预报。
本实例运行结果如图1所示。
图1 利用Web Service获取天气预报
◆ 技术要点
.NET平台内建了对Web service的支持,包括Web service的构建和使用。与其它开发平台不同,使用.NET平台,你不需要其他的工具或者SDK就可以完成Web service的开发了。.NET Framework本身就全面支持Web service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持。
本实例主要应用的技术要点就是根据传入的wsdl地址和调用的方法名和参数值等,自动调用webservice方法生成客户端。
◆ 实现过程
(1)新建一个网站,默认主页为Default.aspx。
(2)在Default.aspx页面中添加一个Table表格、两个DropDowList控件和一个Button控件,分别用来布局页面、选择省份和城市及获取天气预报事件。
(3)主要程序代码。
首先,在页面代码中实例化一个WebService服务对象,声明如下:
obj.Service myobj = new obj.Service(); //实例化
在页面Page_Load事件中编写如下代码,调用三个自定义方法,分别用来绑定WebService服务中的省份、城市及相应的天气预报状况。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//绑定省份信息
BindPro();
//绑定相应的城市信息
BindCity();
//绑定查找到的相应的天气预报
BindWeather();
Label4.Text = DateTime.Now.ToShortDateString();
}
}
自定义一个BindPro()方法来绑定所要查询的省份信息,代码如下:
protected void BindPro()
{
string [] pro=myobj.getSupportProvince();
for (int i = 1; i <= Int32 .Parse (pro[0]); i++)
{
DropDownList1.Items.Add(new ListItem (pro[i].ToString (),pro[i].ToString()));
}
}
自定义一个BindCity()方法来绑定所要查询的相应省份的城市信息,代码如下:
protected void BindCity()
{
DropDownList2.Items.Clear();
string[] city = myobj.getSupportCity (DropDownList1 .SelectedValue );
for (int i = 1; i <= Int32.Parse(city[0]); i++)
{
DropDownList2.Items.Add(new ListItem(city[i].ToString(), city[i].ToString()));
}
}
自定义一个BindCity ()方法来绑定所查询的省份城市的天气预报信息,代码如下:
{
string[] mystr = myobj.getWeatherbyCityName(DropDownList2 .SelectedValue , theDayFlagEnum.Today);
Label1.Text = mystr[1].ToString();
Label2.Text = mystr[2].ToString();
Label3.Text = mystr[3].ToString();
Label5.Text = mystr[5].ToString();
Image1.ImageUrl = mystr[6].ToString();
}
注意:在命名空间代码区域内引入如下命名空间:
using System .Web .Services ;
using obj; //引用
郑重声明:本技术资料来源于www.mrbccd.com 明日编程词典网 ASP.NET编程词典 如有转载 请标明此出处!