ASP.net(c#)打造24小时天气预报及实时天气

  本文详细介绍关于ASP.NET的实时天气及24小时天气预报

  修改其中的url获得其他城市的天气情况的文章专题。

  ASP.NET的实时天气及24小时天气预报(C#)

  修改其中的url获得其他城市的天气情况

  如广州为:

  http://weather.yahoo.com

  /forecast/CHXX0037_c.html

  注意仅适用于获得yahoo上的天气预报

  GetWeather.aspx

  -----------------------------------

  

复制代码 代码如下:
<%@ Page language="c#" Codebehind="GetWeather.aspx.cs" AutoEventWireup="false" Inherits="test.GetWeather" %>

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

  <HTML>

  <HEAD>

  <title>GetWeather</title>

  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">

  <meta name="CODE_LANGUAGE" Content="C#">

  <meta name="vs_defaultClientScript" content="JavaScript">

  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

  </HEAD>

  <body>

  <form id="GetWeather" method="post" runat="server">

  <FONT face="宋体">

  <P>

  <asp:Label id="lblWeather" runat="server">Weather</asp:Label></P>

  <P>

  <asp:Button id="btnGet" runat="server" Text="Get Weather">

  </asp:Button></P>

  <P>

  <asp:Label id="Weather2" runat="server">24小时天气</asp:Label></P>

  <P>

  <asp:Button id="btnGet2" runat="server" Text="天气预报">

  </asp:Button></P>

  </FONT>

  </form>

  </body>

  </HTML>

  getWeather.aspx.cs

  ---------------------------------------

  

复制代码 代码如下:
using System;

  using System.Collections;

  using System.ComponentModel;

  using System.Data;

  using System.Drawing;

  using System.Web;

  using System.Web.SessionState;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.HtmlControls;

  using System.Net;

  using System.IO;

  namespace test

  {

  public class GetWeather : System.Web.UI.Page

  {

  protected System.Web.UI.WebControls.Label lblWeather;

  protected System.Web.UI.WebControls.Label Weather2;

  protected System.Web.UI.WebControls.Button btnGet2;

  protected System.Web.UI.WebControls.Button btnGet;

  private void Page_Load(object sender, System.EventArgs e)

  {

  // Put user code to initialize the page here

  }

  #region Web Form Designer generated code

  override protected void OnInit(EventArgs e)

  {

  //

  // CODEGEN: This call is required by the ASP.NET Web Form Designer.

  //

  InitializeComponent();

  base.OnInit(e);

  }

  /// <summary>

  /// Required method for Designer support - do not modify

  /// the contents of this method with the code editor.

  /// </summary>

  private void InitializeComponent()

  {

  this.btnGet.Click += new System.EventHandler(this.btnGet_Click);

  this.btnGet2.Click += new System.EventHandler(this.btnGet2_Click);

  this.Load += new System.EventHandler(this.Page_Load);

  }

  #endregion

  private void btnGet_Click(object sender, System.EventArgs e)

  {

  WebRequest wreq=WebRequest.Create

  ("http://weather.yahoo.com/forecast/CHXX0037_c.html");

  HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();

  string HTML ="";

  Stream s=wresp.GetResponseStream();

  StreamReader objReader = new StreamReader(s);

  string sLine = "";

  int i = 0;

  while (sLine!=null)

  {

  i++;

  sLine = objReader.ReadLine();

  if (sLine!=null)

  HTML += sLine;

  }

  String temp= "";

  int start,stop;

  start = HTML.IndexOf("<!-- CURCON-->",0,HTML.Length);

  stop = HTML.IndexOf("<!-- END CURCON-->",0,HTML.Length);

  temp = HTML.Substring(start, stop - start);

  start = temp.IndexOf("<b>");

  stop = temp.IndexOf("</b>");

  string degree = temp.Substring(start+3,stop - start -3);

  start = temp.IndexOf("<img");

  stop = temp.IndexOf("</td>",start);

  string img = temp.Substring(start,stop - start);

  lblWeather.Text = degree + "<br>" + img;

  }

  private void btnGet2_Click(object sender, System.EventArgs e)

  {

  WebRequest wreq=WebRequest.Create

  ("http://cn.weather.yahoo.com/CHXX/CHXX0037/index_c.html");

  HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();

  string HTML ="";

  Stream s=wresp.GetResponseStream();

  StreamReader objReader = new StreamReader(s,System.Text.Encoding.GetEncoding("GB2312"));

  string sLine = "";

  int i = 0;

  while (sLine!=null)

  {

  i++;

  sLine = objReader.ReadLine();

  if (sLine!=null)

  HTML += sLine;

  }

  String temp= "";

  int start,stop;

  start = HTML.IndexOf("<table border=0 cellpadding=2

  cellspacing=1 bgcolor=9999cc width=\"85%\">",0,HTML.Length);

  stop = HTML.IndexOf("</table>",start)+8;

  temp = HTML.Substring(start, stop - start);

  Weather2.Text = temp;

  }

  }

  }  

请注明转自chinazhan中国站长