简单添加Web服务引用---天气预报

来源:互联网 发布:转基因食品利弊 知乎 编辑:程序博客网 时间:2024/05/10 19:58

引用网址:

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

后台代码:

 protected void Page_Load(object sender, EventArgs e)
        {
            //第一次加载,显示省份、直辖市、地区
            if (!IsPostBack)
            {
                TheWeatherInfo.WeatherWebService weather = new TheWeatherInfo.WeatherWebService();
                //getSupportProvince方法---返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。
                this.Dwprovince.DataSource = weather.getSupportProvince();
                Dwprovince.DataBind();
            }
        }
        //当省份下拉列表改变时的事件
        protected void Dwprovince_SelectedIndexChanged(object sender, EventArgs e)
        {
            //对城市下拉列表项进行清空
            Dwcity.Items.Clear();
            TheWeatherInfo.WeatherWebService weather = new TheWeatherInfo.WeatherWebService();
            //getSupportCity方法---输入参数:byProvinceName = 指定的洲或国内的省份,若为ALL或空则表示返回全部城市;返回数据:一个一维字符串数组 String(),结构为:城市名称(城市代码)。
            string[] str=weather.getSupportCity(Dwprovince.SelectedValue);
            //由于含有城市代码,显示不简洁,所以将不予显示城市代码。例:北京 (54511),其最终显示结果为北京,而(54511)将不予显示
            foreach (string item in str)
            {
                Dwcity.Items.Add(item.Substring(0,item.IndexOf("(")));
            }
        }
        //单击按钮事件:显示天气状况
        protected void BtnSearch_Click(object sender, EventArgs e)
        {
            TheWeatherInfo.WeatherWebService weather = new TheWeatherInfo.WeatherWebService();
            //getWeatherbyCityName方法---返回数据: 一个一维数组 String(22),共有23个元素。包含未来三天内天气情况、现在的天气实况、天气和生活指数信息,这里只是将几个信息拿出来演示
            string[] AllInfo = weather.getWeatherbyCityName(Dwcity.SelectedValue);
            //LblShowInfo为Lable控件,起显示作用
            LblShowInfo.Text = "省份:" + AllInfo[0] + ";" + "城市:" + AllInfo[1] + ";";
            LblShowInfo.Text +="</br>" + "气温:   " + AllInfo[5] + ";" + "概况:   " + AllInfo[6] + ";" + "风向和风力:   " + AllInfo[7] + ";";
        }

控件界面:

HTML界面:


网页显示:


最终效果:


原创粉丝点击