获取天气服务

第一种方法

1.添加引用:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

2.cs代码:

View Code
WeatherWebServiceSoap w = new WeatherWebServiceSoapClient("WeatherWebServiceSoap");

         protected void Page_Load(object sender, EventArgs e)

         {

             if (!IsPostBack)

             {

                 BindPro();

                 BindCity();

             }

         }

         //province

         protected void BindPro()

         {

             string[] pro = w.getSupportProvince();

             for (int i = 0; i < pro.Length; i++)

             {

                 ddlProv.Items.Add(new ListItem(pro[i],pro[i]));

             }

         }

         //city

         protected void BindCity()

         {

             ddlCity.Items.Clear();

             string[] city = w.getSupportCity(ddlProv.SelectedValue);

             for (int i = 0; i < city.Length; i++)

             {

                 ddlCity.Items.Add(new ListItem(city[i],city[i]));

             }

         }

         //weather

         protected void BindWeather()

         {

             string city = ddlCity.SelectedValue.ToString().Substring(0,2);

             //Response.Write(city);

             string[] mystr = w.getWeatherbyCityName(city);

             //for (int i = 0; i < mystr.Length; i++)

             //{

             //  Response.Write(mystr[8]+"<br/>");

               //img.ImageUrl = "images/a_" + mystr[8];

             //}

               //mystr[0] 省

               //mystr[2] 城市后的代码

             

            labCity.Text = mystr[1];//城市

             Label2.Text = mystr[6];//日期+天气情况(如:7月4日 多云)

             Label3.Text = mystr[5];//温度(如:28℃/34℃)

             Label4.Text = mystr[4];//时间(如:2012-7-4 12:04:38)

         }

 

        protected void ddlProv_SelectedIndexChanged(object sender, EventArgs e)

         {

             BindCity();

         }

 

        protected void Button1_Click(object sender, EventArgs e)

         {

             BindWeather();

         }

 

 

 

html代码:

 

<body>

     <form id="form1" runat="server">

     <div>

         <asp:DropDownList ID="ddlProv" runat="server" AutoPostBack="True" onselectedindexchanged="ddlProv_SelectedIndexChanged"></asp:DropDownList>

         <asp:DropDownList ID="ddlCity" runat="server"></asp:DropDownList>

         <asp:Label ID="labCity" runat="server" Text="Label"></asp:Label>

         <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>

         <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>

         <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>

         <br />

         <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="获 取" />

     </div>

     </form>

 </body>

第二种方法
1.添加引用:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

2.cs代码:

 //获取天气

             Weather.WeatherWebServiceSoapClient w = new Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap"); 

                //把webservice当做一个类来操作  

            string[] s = new string[23];

            //声明string数组存放返回结果 

            string city = "北京";

            //获得查询城市    

            s = w.getWeatherbyCityName(city); 

            //以文本框内容为变量实现方法getWeatherbyCityName   

            if (s[8] == "")  

            {

                //    MessageBox.Show("暂时不支持您查询的城市");  

            } else 

            {  

                  //pictureBox1.Image = Image.FromFile(@"d:\image\" + s[8] + ""); 

                

                string st1 =s[1]+" "+s[6]; 

                string str2 = s[10];     

                }  

  

你可能感兴趣的:(获取)