利用Web Server 获取天气预报

    技术2022-05-19  18

        根据传入的WSDL地址和调用的方法名及参数值等,自动调用WebService方法生成客户端。

    注意:    服务中的Service.wsdl文件是通过“添加Web引用”而来的文件,该服务提供了所有要查询的省份及相应的城市天气预报信息,如城市今天的温度等。

     

    web.config:

    <appSettings> <add key="obj.Service" value="http://www.ayandy.com/Service.asmx"/> </appSettings>

     

      需要加入命名空间

       using System .Web .Services ;    using obj;

    页面代码:

     

    <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>远程获取天气预报</title> </head> <body style ="font-size :12px"> <form id="form1" runat="server"> <div> 省份:<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList>城市:<asp:DropDownList ID="DropDownList2" runat="server"> </asp:DropDownList> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="获 取" /> </div> <div style ="border :solid 1px #8daaf4;margin-top :5px;"> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label><br /> <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label><br /> <asp:Image ID="Image1" runat="server" /> </div> </form> </body> </html>  

     

    后台代码:

     

    obj.Service myobj = new obj.Service(); //实例化 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindPro(); BindCity(); BindWeather(); Label4.Text = DateTime.Now.ToShortDateString(); } } // 獲得省份 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())); } } //獲得城市 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())); } } //天氣預報 protected void BindWeather() { string[] mystr = myobj.getWeatherbyCityName(DropDownList2.SelectedValue, theDayFlagEnum.Today); // string[] mystr=myobj.getWeatherbyCityName (DropDownList2.SelectedValue,theDayFlagEnum . 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(); } protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { BindCity(); } protected void Button1_Click(object sender, EventArgs e) { BindWeather(); }  

     

    附代码程序下载

     

     

     


    最新回复(0)