当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET的实时天气及24小时天气预报

ASP.NET
ASP.NET应用程序设计的10大技巧
asp.net开发与web标准的冲突问题
总结:ADO.NET中容易混淆的概念
ASP.NET数据库编程入门
ASP.Net网络数据库:连接到数据库
ASP.Net之C#中的异常处理
在C++中使用Lambda函数提高代码性能
从零开始学习jQuery (一) 开天辟地入门篇
.Net中的 XmlReader 与 XmlWriter 解析
ASP.NET安全问题--创建安全的Web应用程序
从零开始学习jQuery (二) 万能的选择器
ASP.NET开发必须养成的编程习惯
ASP.NET应用XML技术实现Web报表打印
ASP.NET实现静态的TreeView控件导航
数据结构与算法:C#语言描述 目录
ASP.NET创建XML Web服务全接触
使.NET命名空间符合标准
ASP.Net获得新浪天气预报几种方式总结
.Net技术开发中两个“属性”引起的歧异
.Net课堂:ASP.NET常用的优化性能方法

ASP.NET的实时天气及24小时天气预报


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 215 ::
收藏到网摘: n/a

修改其中的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;
   }
   }
  }