Tạo module dự báo thời tiết với ASP.NET

Bước 1: Để tránh tình trạng phải load lại trang vì các trang asp.net có cơ chế postback để lấy mới dữ liệu nên chúng ta sẽ sử dụng ScriptManager và UpdatePanel để tạo module.

<form id="form1" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server"
                onselectedindexchanged="DropDownList1_SelectedIndexChanged">
                <asp:ListItem Value="SonLa">Sơn La</asp:ListItem>
                <asp:ListItem Value="Haiphong">Hải Phòng</asp:ListItem>
                <asp:ListItem Value="Hanoi" Selected="True">Hà Nội</asp:ListItem>
                <asp:ListItem Value="Vinh">Vinh</asp:ListItem>
                <asp:ListItem Value="Danang">Đà Nẵng</asp:ListItem>
                <asp:ListItem Value="Nhatrang">Nha Trang</asp:ListItem>
                <asp:ListItem Value="Pleicu">Pleiku</asp:ListItem>
                <asp:ListItem Value="HCM">Tp HCM</asp:ListItem>
                <asp:ListItem Value="Viettri">Việt Trì</asp:ListItem>
            </asp:DropDownList>
            <div id="divWeather" runat="server"></div>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
</form>
Bước 2: Chúng ta sẽ viết code trong phần behindcode:
public string GetWeather(string City)
{
    string strWrite = "";
    XmlTextReader reader = null;
    try
    {
        string AdImg = "";
        string AdImg1 = "";
        string AdImg2 = "";
        string Weather = "";
        reader = new XmlTextReader("http://vnexpress.net/ListFile/Weather/" + City + ".xml");
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(reader);
        XmlNodeList nodelist = xmldoc.SelectNodes("Item");
        XmlNode nodedetail;
        nodedetail = nodelist.Item(0).SelectSingleNode("AdImg");
        AdImg = nodedetail.InnerText;
        nodedetail = nodelist.Item(0).SelectSingleNode("AdImg1");
        AdImg1 = nodedetail.InnerText;
        nodedetail = nodelist.Item(0).SelectSingleNode("AdImg2");
        AdImg2 = nodedetail.InnerText;
        nodedetail = nodelist.Item(0).SelectSingleNode("Weather");
        Weather = nodedetail.InnerText;
        strWrite += "<img src='Images/Weather/" + AdImg + "' border='0' width='36' height='35' />&nbsp;";
        strWrite += "<img src='Images/Weather/" + AdImg1 + "' border='0' width='19' height='28' />";
        strWrite += "<img src='Images/Weather/" + AdImg2 + "' border='0' width='19' height='28' />";
        strWrite += "<img src='Images/Weather/c.gif' width='35' height='28' /><br />";
        strWrite += Weather;
    }
    catch (Exception ex)
    {
        strWrite = ex.Message;
    }
    finally
    {
        reader.Close();
    }
    return strWrite;
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        divWeather.InnerHtml = GetWeather(DropDownList1.SelectedValue);
    }
 
Bước 3: Lần đầu load lên chúng ta nên có một thành phố nào đó nên trong event Page_Load chúng ta sẽ hiển thị 1 thành phố nào đó.
    divWeather.InnerHtml = GetWeather("HaNoi");
 Bước 4: Tới đây là ok. Chúng ta save và F5 thôi:

module thoi tiet aspnet

Đây là source code bạn có thể download module dự báo thời tiết asp.net

Không có nhận xét nào: