<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Fred Xu的技术博客</title><subtitle type="text">哥编的不是代码，是寂寞！</subtitle><id>http://feed.cnblogs.com/blog/u/43880/rss</id><updated>2012-04-02T08:46:50Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/43880/rss"/><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/how-to-avoid-Illegal-characters-in-path-error-in-asp-net-mvc.html</id><title type="text">Asp.net MVC Model设置为string类型时报错：Illegal characters in path</title><summary type="text">如果你将一个页面的Model设置为string类型，那么你会碰到这个错误：Illegal Characters in path似乎很奇怪，或许你甚至都不知道造成这个错误的原因是因为Model类型为string。实际上，你得到上面的错误原因是在你的Controller中，你通常调用View方法传送这个model作为唯一的参数并且这个model的值是string类型。但是你可能没有注意到View方法同样也有另外一个重载就是接受一个string作为这个View的名字。所以如果你传送这个model如下代码：return View("myStringModel");上面的代码中，你特</summary><published>2012-03-23T07:23:00Z</published><updated>2012-03-23T07:23:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/how-to-avoid-Illegal-characters-in-path-error-in-asp-net-mvc.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/how-to-avoid-Illegal-characters-in-path-error-in-asp-net-mvc.html"/><content type="html">&lt;p&gt;&lt;span&gt;如果你将一个页面的Model设置为string类型，那么你会碰到这个错误：&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="tr_bq"&gt;&lt;strong&gt;Illegal Characters in path&lt;/strong&gt;&lt;/blockquote&gt;&lt;p&gt;似乎很奇怪，或许你甚至都不知道造成这个错误的原因是因为Model类型为string。实际上，你得到上面的错误原因是在你的Controller中，你通常调用View方法传送这个model作为唯一的参数并且这个model的值是string类型。但是你可能没有注意到View方法同样也有另外一个重载就是接受一个string作为这个View的名字。所以如果你传送这个model如下代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; View(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;myStringModel&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;/div&gt;&lt;p&gt;上面的代码中，你特别指向名为"myStringModel"的页面，并且这个页面不存在。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;解决方法是：&lt;/strong&gt;通过指定明确的参数来选择正确的重载，如下代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; View(model: &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;myStringModel&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;参考：&lt;a href="http://samondotnet.blogspot.com/2011/11/aspnet-mvc-setting-model-as-string-and.html"&gt;http://samondotnet.blogspot.com/2011/11/aspnet-mvc-setting-model-as-string-and.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://stackoverflow.com/questions/2087246/howto-allow-illegal-characters-in-path"&gt;http://stackoverflow.com/questions/2087246/howto-allow-illegal-characters-in-path&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx"&gt;http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2413735.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/how-to-avoid-Illegal-characters-in-path-error-in-asp-net-mvc.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/using-google-weather-api-to-get-weather-and-time-via-csharp.html</id><title type="text">使用Google Weather API获取天气预报，中文支持</title><summary type="text">这里我们使用asp.net来获取当地天气、时间信息前端页面：&lt;%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="GoogleWeatherAPI.aspx.cs" Inherits="EnhancementLot4.Tests.GoogleWeatherAPI" %&gt;&lt;asp:Content ID="Con</summary><published>2012-03-23T03:48:00Z</published><updated>2012-03-23T03:48:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/using-google-weather-api-to-get-weather-and-time-via-csharp.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/using-google-weather-api-to-get-weather-and-time-via-csharp.html"/><content type="html">&lt;p&gt;这里我们使用asp.net来获取当地天气、时间信息&lt;/p&gt;&lt;p&gt;前端页面：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="background-color: #ffff00; color: #000000;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;@ Page Title&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;""&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; Language&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;C#&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; MasterPageFile&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;~/Site.Master&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; AutoEventWireup&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;true&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; CodeBehind&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;GoogleWeatherAPI.aspx.cs&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; Inherits&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;EnhancementLot4.Tests.GoogleWeatherAPI&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt; &lt;span style="background-color: #ffff00; color: #000000;"&gt;%&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Content &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Content1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="HeadContent"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Content &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Content2"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; ContentPlaceHolderID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="MainContent"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Literal &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ID&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ltlWeather"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; runat&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="server"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Literal&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;asp:Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;后端代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(Request.QueryString[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;location&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;]))&lt;br /&gt;                ltlWeather.Text = GetWeather(Request.QueryString[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;location&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;]);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; GetWeather(&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; location)&lt;br /&gt;        {&lt;br /&gt;            HttpWebRequest GoogleRequest;&lt;br /&gt;            HttpWebResponse GoogleResponse = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;            XmlDocument GoogleXMLdoc = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; weather = &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                GoogleRequest = (HttpWebRequest)WebRequest.Create(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://www.google.com/ig/api?output=xml&amp;amp;hl=zh-cn&amp;amp;country=cn&amp;amp;weather=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Format(location));&lt;br /&gt;                GoogleResponse = (HttpWebResponse)GoogleRequest.GetResponse();&lt;br /&gt;                GoogleXMLdoc = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; XmlDocument();&lt;br /&gt;                GoogleXMLdoc.XmlResolver = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;                GoogleXMLdoc.Load(GoogleResponse.GetResponseStream());&lt;br /&gt;                XmlNode root = GoogleXMLdoc.DocumentElement;&lt;br /&gt;                XmlNodeList nodeList1 = root.SelectNodes(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather/forecast_information&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;b&amp;gt;City : &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList1.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;city&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;                XmlNodeList nodeList = root.SelectNodes(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather/current_conditions&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;table class=\"bordered\" cellpadding=\"5\"&amp;gt;&amp;lt;tbody&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;b&amp;gt;&amp;lt;big&amp;gt;&amp;lt;nobr&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_c&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt; &amp;deg;C | &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_f&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt; &amp;deg;F&amp;lt;/nobr&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;b&amp;gt;Current:&amp;lt;/b&amp;gt; &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;""&lt;/span&gt;;&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt; &lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;wind_condition&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;""&lt;/span&gt;;&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt; &lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nodeList.Item(&lt;span style="color: #800080;"&gt;0&lt;/span&gt;).SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;humidity&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText;&lt;br /&gt;                nodeList = root.SelectNodes(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;descendant::weather/forecast_conditions&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (XmlNode nod &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; nodeList)&lt;br /&gt;                {&lt;br /&gt;                    weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/td&amp;gt;&amp;lt;td align=\"center\"&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nod.SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;""&lt;/span&gt;;&lt;br /&gt;                    weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;img src=\"http://www.google.com&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nod.SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\" alt=\"&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + nod.SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\"&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;                    weather = weather + nod.SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;low&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;deg;F | &lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;                    weather = weather + nod.SelectSingleNode(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;high&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;).Attributes[&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;data&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;].InnerText + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;deg;F&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;                weather = weather + &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/tbody&amp;gt;&amp;lt;/table&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (System.Exception ex)&lt;br /&gt;            {&lt;br /&gt;                weather = ex.Message;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;finally&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                GoogleResponse.Close();&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; weather;&lt;br /&gt;        }&lt;/div&gt;&lt;p&gt;注意这里我们是通过http://www.google.com/ig/api?output=xml&amp;amp;hl=zh-cn&amp;amp;country=cn来获取中文显示的天气信息，上面的代码运行时会报错：&lt;/p&gt;&lt;p&gt;&lt;span style="color: #ff0000;"&gt;Invalid character in the given encoding&lt;/span&gt;&lt;/p&gt;&lt;p&gt;其原因是HttpWebRequest得到的Response是GB2312编码，而默认XmlDocument是UTF-8编码的，所以会报错。&lt;/p&gt;&lt;p&gt;解决很简单，只要将Response的Stream改为GB2312编码即可：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;                GoogleRequest = (HttpWebRequest)WebRequest.Create(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;http://www.google.com/ig/api?output=xml&amp;amp;hl=zh-cn&amp;amp;country=cn&amp;amp;weather=&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; + &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Format(location));&lt;br /&gt;                GoogleResponse = (HttpWebResponse)GoogleRequest.GetResponse();&lt;br /&gt;                GoogleXMLdoc = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; XmlDocument();&lt;br /&gt;                GoogleXMLdoc.XmlResolver = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;                StreamReader reader = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; StreamReader(GoogleResponse.GetResponseStream(), System.Text.Encoding.GetEncoding(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;GB2312&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;));&lt;br /&gt;                GoogleXMLdoc.Load(reader);&lt;br /&gt;                XmlNode root = GoogleXMLdoc.DocumentElement;&lt;/div&gt;&lt;p&gt;另附上英文显示的XML：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml_api_reply &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;module_id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; tab_id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; mobile_row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; mobile_zipped&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; section&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_information&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;city &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Shanghai, Shanghai"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;postal_code &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="shanghai"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;latitude_e6 &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;longitude_e6 &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_date &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2012-03-23"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_date_time &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2012-03-23 16:30:00 +0000"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;unit_system &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="US"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_information&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Light rain"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_f &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="45"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_c &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="7"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;humidity &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Humidity: 93%"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/mist.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;wind_condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Wind: W at 16 mph"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Fri"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="39"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="55"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/rain.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Rain"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Sat"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="39"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="55"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/mostly_sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Mostly Sunny"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Sun"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="37"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="63"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Clear"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Mon"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="43"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="57"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Clear"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml_api_reply&lt;/span&gt;&lt;/div&gt;&lt;p&gt;中文：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml_api_reply &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;module_id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; tab_id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; mobile_row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; mobile_zipped&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; row&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; section&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="0"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_information&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;city &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Shanghai, Shanghai"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;postal_code &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="shanghai"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;latitude_e6 &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;longitude_e6 &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=""&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_date &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2012-03-23"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_date_time &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="2012-03-23 16:30:00 +0000"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;unit_system &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="SI"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_information&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="小雨"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_f &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="45"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;temp_c &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="7"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;humidity &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="湿度： 93%"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/cn_lightrain.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;wind_condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="风向： 西、风速：7 米/秒"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;current_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="周五"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="4"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="13"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/cn_heavyrain.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="雨"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="周六"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="4"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="13"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/mostly_sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="以晴为主"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="周日"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="3"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="17"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="晴"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;day_of_week &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="周一"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;low &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="6"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;high &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="14"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="/ig/images/weather/sunny.gif"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;condition &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;data&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="晴"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;forecast_conditions&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;weather&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;xml_api_reply&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;参考：&lt;a href="http://www.yaosansi.com/post/1366.html"&gt;http://www.yaosansi.com/post/1366.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.aspmvcnet.com/asp-net-mvc/google-weather-api-for-asp-net-mvc.aspx"&gt;http://www.aspmvcnet.com/asp-net-mvc/google-weather-api-for-asp-net-mvc.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2413399.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/23/using-google-weather-api-to-get-weather-and-time-via-csharp.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/21/have-to-click-twice-to-get-submitted-by-using-submitHandler.html</id><title type="text">使用jquery.validate submitHandler必须点击两次才能提交表单</title><summary type="text">在开发中遇到了这样一个问题，Form表单需要有两个按钮来做验证，如图所示：左边按钮直接提交给当前Form表单，右边按钮则是要使用Ajax来异步提交表单，保持页面不刷新跳转。表单验证我们使用了jquery.validate插件，表单异步提交使用了jquery.form插件配合前者，代码如下：左边按钮点击后会执行validate方法，验证通过后form.submit进行提交；而右边按钮点击执行validate通过后，则使用jquery.form的api来做submit，这个时候问题出来了，需要点击两下右边按钮才能执行异步提交Form，ORZ....通过g搜索，找到了解决方法，只要将代码删除即可。$</summary><published>2012-03-21T12:21:00Z</published><updated>2012-03-21T12:21:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/21/have-to-click-twice-to-get-submitted-by-using-submitHandler.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/21/have-to-click-twice-to-get-submitted-by-using-submitHandler.html"/><content type="html">&lt;p&gt;在开发中遇到了这样一个问题，Form表单需要有两个按钮来做验证，如图所示：&lt;/p&gt;&lt;p&gt;左边按钮直接提交给当前Form表单，右边按钮则是要使用Ajax来异步提交表单，保持页面不刷新跳转。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/40302/2012032120054453.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;表单验证我们使用了jquery.validate插件，表单异步提交使用了jquery.form插件配合前者，代码如下：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/40302/2012032120084291.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;左边按钮点击后会执行validate方法，验证通过后form.submit进行提交；而右边按钮点击执行validate通过后，则使用jquery.form的api来做submit，这个时候问题出来了，需要点击两下右边按钮才能执行异步提交Form，ORZ....&lt;/p&gt;&lt;p&gt;通过g搜索，找到了解决方法，只要将代码删除即可。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;$('form:eq(0)').submit(&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; ()&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提交表单&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;{&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/40302/2012032120141728.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;删除后代码如图所示：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/40302/2012032120151989.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;问题解决，但究其原因还未找到具体的解释，这些天继续研究下。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2410443.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/21/have-to-click-twice-to-get-submitted-by-using-submitHandler.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/14/get-enum-by-value-via-csharp.html</id><title type="text">根据值获取Enum枚举</title><summary type="text">前台Post过来一个string类型的int值，"1","2"，然后实体对象是一个Enum枚举类型，所以需要根据该数值的string获取到这个Enum枚举对象的值。EnumItems enumItem = (EnumItems)Enum.Parse(typeof(EnumItems), ddl.SelectedValue);qc.State = (OrderQcState)Enum.Parse(typeof(OrderQcState), qc.Result);很简单，使用Enum.Parse方法解决。参考：http://www.dukebaby.net/</summary><published>2012-03-14T09:02:00Z</published><updated>2012-03-14T09:02:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/14/get-enum-by-value-via-csharp.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/14/get-enum-by-value-via-csharp.html"/><content type="html">&lt;p&gt;前台Post过来一个string类型的int值，"1","2"，然后实体对象是一个Enum枚举类型，所以需要根据该数值的string获取到这个Enum枚举对象的值。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;EnumItems enumItem = (EnumItems)Enum.Parse(&lt;span style="color: #0000ff;"&gt;typeof&lt;/span&gt;(EnumItems), ddl.SelectedValue);&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;qc.State = (OrderQcState)Enum.Parse(&lt;span style="color: #0000ff;"&gt;typeof&lt;/span&gt;(OrderQcState), qc.Result);&lt;/div&gt;&lt;p&gt;很简单，使用Enum.Parse方法解决。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;参考：&lt;a href="http://www.dukebaby.net/2007/08/get-enum-by-value-in-c/"&gt;http://www.dukebaby.net/2007/08/get-enum-by-value-in-c/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2396203.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/14/get-enum-by-value-via-csharp.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/09/asp_net-get-user-browser-name-mismatching-chrome.html</id><title type="text">Asp.net获取客户浏览器信息，Chrome名称不匹配问题</title><summary type="text">公司要自己做一套简单的网站统计系统，主要统计客户浏览器的一些信息，记录浏览器名称，主要版本，是否支持Java Script等信息，我们在.Net Framework 3.5下新建了一个Web项目，使用下面的代码来获取客户浏览器名称：Request.Browser.Browser问题出现了，在Chrome浏览器下，获取到的浏览器名称是AppleMAC-Safari，而不是Chrome，其它诸如IE，Firefox都是正常的。灰常抓狂！！！于是乎把Web项目改到.Net Framework 4.0框架，问题解决。</summary><published>2012-03-09T07:34:00Z</published><updated>2012-03-09T07:34:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/09/asp_net-get-user-browser-name-mismatching-chrome.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/09/asp_net-get-user-browser-name-mismatching-chrome.html"/><content type="html">&lt;p&gt;公司要自己做一套简单的网站统计系统，主要统计客户浏览器的一些信息，记录浏览器名称，主要版本，是否支持Java Script等信息，我们在.Net Framework 3.5下新建了一个Web项目，使用下面的代码来获取客户浏览器名称：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;Request.Browser.Browser&lt;/div&gt;&lt;p&gt;问题出现了，在Chrome浏览器下，获取到的浏览器名称是AppleMAC-Safari，而不是Chrome，其它诸如IE，Firefox都是正常的。&lt;/p&gt;&lt;p&gt;灰常抓狂！！！&lt;/p&gt;&lt;p&gt;于是乎把Web项目改到.Net Framework 4.0框架，问题解决。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2387699.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/09/asp_net-get-user-browser-name-mismatching-chrome.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/03/08/fluent-nhibernate_mysql-insert-record-messy-code.html</id><title type="text">Fluent NHibernate+MySQL插入数据中文乱码问题</title><summary type="text">一．环境准备：1. 安装.NETFrameWork 4.02. 安装MySQL 5.0.xwww.mysql.com3. 安装Mysqlconnectorfor.Net1.0www.mysql.com二．问题描述：如题三．问题分析：Mysql从4.1以后开始支持多编码。用因为MySQL是瑞典人开发的，所以安装MySQL默然是latin1。而我们中文操作系统环境下用到的默认是GB2312.这样我们不管在查询数据库中文数据时，数据库转换字符时就会出现混乱。四．问题解决：通一数据库表和字段使用utf8字符集。具体方法：1) 在创建数据表时，先执行如下语句：setcharacter_...</summary><published>2012-03-08T13:11:00Z</published><updated>2012-03-08T13:11:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/08/fluent-nhibernate_mysql-insert-record-messy-code.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/08/fluent-nhibernate_mysql-insert-record-messy-code.html"/><content type="html">&lt;p&gt;一．环境准备：&lt;br /&gt;&lt;br /&gt;1.　&amp;nbsp;安装.NET&amp;nbsp;FrameWork 4.0&lt;br /&gt;&lt;br /&gt;2.　&amp;nbsp;安装MySQL 5.0.x&amp;nbsp;www.mysql.com&lt;br /&gt;&lt;br /&gt;3.　&amp;nbsp;安装Mysql&amp;nbsp;connector&amp;nbsp;for&amp;nbsp;.Net1.0　www.mysql.com&lt;br /&gt;&lt;br /&gt;二．问题描述：如题&lt;br /&gt;&lt;br /&gt;三．问题分析：&lt;br /&gt;&lt;br /&gt;Mysql从4.1以后开始支持多编码。用因为MySQL是瑞典人开发的，所以安装MySQL默然是latin1。而我们中文操作系统环境下用到的默认是GB2312.这样我们不管在查询数据库中文数据时，数据库转换字符时就会出现混乱。&lt;br /&gt;&lt;br /&gt;四．问题解决：&lt;br /&gt;&lt;br /&gt;通一数据库表和字段使用utf8字符集。具体方法：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1)　在创建数据表时，先执行如下语句：&lt;br /&gt;&lt;br /&gt;set&amp;nbsp;character_set_results=utf8;&lt;br /&gt;&lt;br /&gt;set&amp;nbsp;character_set_client=utf8;&lt;br /&gt;&lt;br /&gt;set&amp;nbsp;character_set_connection=utf8;&lt;br /&gt;&lt;br /&gt;set&amp;nbsp;character_set_server=utf8;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2)　然后再执行建表语句：例如&lt;/p&gt;&lt;p&gt;&lt;span&gt;CREATE&amp;nbsp;TABLE&amp;nbsp;`table1`&amp;nbsp;(&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;`Code`&amp;nbsp;varchar(10)&amp;nbsp;NOT&amp;nbsp;NULL&amp;nbsp;default&amp;nbsp;'',&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;`Name`&amp;nbsp;double&amp;nbsp;default&amp;nbsp;'-1',&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp;PRIMARY&amp;nbsp;KEY&amp;nbsp;(`Code`)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;)&amp;nbsp;ENGINE=MyISAM&amp;nbsp;DEFAULT&amp;nbsp;CHARSET=utf8;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;这里字符集也设置为utf8&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;3)　修改数据库连接字符串，设置指定的字符集：&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&amp;ldquo;server=yourIP;database=yourDB;&amp;nbsp;User&amp;nbsp;ID=yourID;Password=yourPwd;&amp;nbsp;Charset=utf8&amp;rdquo;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;第1,2步设置好后，如果没有在连接字符串里加上charset=utf8，插入数据还是会乱码。3步完成后，插入中文数据正确，没有乱码，Done！&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2385811.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/03/08/fluent-nhibernate_mysql-insert-record-messy-code.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/02/08/Configure-Log4net-to-write-to-multiple-files-by-level.html</id><title type="text">Log4net按照不同级别写入多个日志文件</title><summary type="text">在一个Web应用项目中，我使用了Fluent NHibernate作为数据访问组件，Log4net来做日志记录。实际编码中，主要使用了INFO和ERROR这两个等级来记录日志，如果按照以下Log4net配置：&lt;root&gt; &lt;level value="ALL"/&gt; &lt;appender-ref ref="RollingFile"/&gt; &lt;appender-ref ref="RollingFileTracer"/&gt;&lt;/root&gt;log4net会把INFO和ERROR的日志记录到同一个</summary><published>2012-02-08T07:06:00Z</published><updated>2012-02-08T07:06:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/08/Configure-Log4net-to-write-to-multiple-files-by-level.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/08/Configure-Log4net-to-write-to-multiple-files-by-level.html"/><content type="html">&lt;p&gt;在一个Web应用项目中，我使用了Fluent NHibernate作为数据访问组件，Log4net来做日志记录。实际编码中，主要使用了INFO和ERROR这两个等级来记录日志，如果按照以下Log4net配置：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;root&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;level &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ALL"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender-ref &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ref&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFile"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender-ref &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ref&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFileTracer"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;root&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;log4net会把INFO和ERROR的日志记录到同一个日志文件里，Fluent NHibernate的INFO日志会大量存在于该日志文件中，这样一来对日后分析错误日志带来非常之不便，所以就想能不能单独把ERROR级的错误日志记录到一个特定的日志文件里。&lt;/p&gt;&lt;p&gt;于是开始尝试各种配置来实现这个需要，&amp;lt;root&amp;gt;标签不支持多个&amp;lt;level&amp;gt;，也就没法通过在&amp;lt;root&amp;gt;中配置多个不同级别的日志输入，通过查阅Log4net文档，找到了&amp;lt;Filter&amp;gt;这个标记，配置如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;configSections&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;section &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Config.Log4NetConfigurationSectionHandler,log4net"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;configSections&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;log4net&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #008000;"&gt;&amp;lt;!--&lt;/span&gt;&lt;span style="color: #008000;"&gt;http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.html&lt;/span&gt;&lt;span style="color: #008000;"&gt;--&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ConsoleAppender"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Appender.ConsoleAppender"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Layout.PatternLayout"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;conversionPattern &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="[%p %t] [%date{yyyy-MM-dd HH:mm:ss,fff}] %-5l - %m%n"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFile"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Appender.RollingFileAppender"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;file &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="App_Data/log.log"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appendToFile &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;maximumFileSize &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="5000KB"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;maxSizeRollBackups &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="500"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;CountDirection &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;RollingStyle &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Size"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Layout.PatternLayout"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;conversionPattern &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="[%p %t] [%date{yyyy-MM-dd HH:mm:ss,fff}] %-5logger - %m%n"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFileTracer"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Appender.RollingFileAppender"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;file &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="App_Data/Trace.log"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appendToFile &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="true"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;maximumFileSize &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="5000KB"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;maxSizeRollBackups &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="500"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;CountDirection &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;RollingStyle &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Size"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Layout.PatternLayout"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;conversionPattern &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="[%p] %m%n"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;layout&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;filter &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="log4net.Filter.LevelRangeFilter"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;levelMin &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ERROR"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;levelMax &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FATAL"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;filter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;root&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;level &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="ALL"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender-ref &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ref&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFile"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appender-ref &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ref&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="RollingFileTracer"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;root&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;log4net&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;我们可以看到&amp;ldquo;RollingFileTracer&amp;rdquo;中我们通过Filter过滤，只记录范围为ERROR到FATAL，然后在&amp;lt;root&amp;gt;增加该appender，level设置为&amp;ldquo;ALL&amp;rdquo;记录所有级别的日志。好了，配置完成，程序实现了记录不同等级的错误信息到多个日志文件。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;参考：&lt;a href="http://stackoverflow.com/questions/1372435/configure-log4net-to-write-to-multiple-files"&gt;http://stackoverflow.com/questions/1372435/configure-log4net-to-write-to-multiple-files&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2342739.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/08/Configure-Log4net-to-write-to-multiple-files-by-level.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/dreamweaver-wordpress-code-intelligence.html</id><title type="text">Dreamweaver CS5 中启用 WordPress 代码提示功能</title><summary type="text">代码提示功能的好处 使用 Dreamweaver 这样的可视化的 IDE 工具进行编程的最大的一个好处是它的代码提示功能，只要输入几个字符，IDE 工具就会智能的给出一系列可选的函数或者变量让你输入。 代码提示功能的好处是非常明显的，比如你对某个函数记不清楚，就可以通过代码提示功能快速输入，而不用去搜索和查资料，即使非常清楚，也可以通过代码提示功能快速输入而无需输入每个字符，这样的对编程效率提高是非常明显的。Dreamweaver CS5 支持 WordPress 代码提示 我们知道 Dreamweaver 代码提示功能支持 HTML，PHP，JavaScript 这些动态语言，而最新发...</summary><published>2012-02-02T03:40:00Z</published><updated>2012-02-02T03:40:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/dreamweaver-wordpress-code-intelligence.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/dreamweaver-wordpress-code-intelligence.html"/><content type="html">&lt;p&gt;&lt;strong&gt;代码提示功能的好处&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;使用 Dreamweaver 这样的可视化的 IDE 工具进行编程的最大的一个好处是它的代码提示功能，只要输入几个字符，IDE 工具就会智能的给出一系列可选的函数或者变量让你输入。&lt;/p&gt;&lt;p&gt;代码提示功能的好处是非常明显的，比如你对某个函数记不清楚，就可以通过代码提示功能快速输入，而不用去搜索和查资料，即使非常清楚，也可以通过代码提示功能快速输入而无需输入每个字符，这样的对编程效率提高是非常明显的。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Dreamweaver CS5 支持 WordPress 代码提示&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;我们知道 Dreamweaver 代码提示功能支持 HTML，PHP，JavaScript 这些动态语言，而最新发布的 Dreamweaver CS5 则更进一步，支持 WordPress，Drupal，Joomla 这些开源程序的私有函数的代码提示。&lt;/p&gt;&lt;p&gt;这样使用 Dreamweaver CS5 来开发 WordPress 插件和主题，只要输入 WordPress 内置函数的前几个字符，就会显示整个函数，再也不用辛苦记住函数名称了。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;如何在 Dreamweaver CS5 中启用 WordPress 代码提示功能&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;下面就讲解下如何在 Dreamweaver CS5 中启用 WordPress 代码提示功能：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;将本地的测试站点添加到 Dreamweaver CS5&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;首先要在本地安装好 WordPress 测试网站，如果是 Windows 系统，可以查看这篇教程：如何在 Windows 系统上安装 WordPress 本地测试，并保证网站已经能在本地正常浏览。&lt;/p&gt;&lt;p&gt;点击 Dreamweaver CS5 菜单中的&amp;rdquo;Site&amp;ndash;&amp;gt;New Site&amp;rdquo;，如下图建立新站点：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-1.jpg" alt="Dreamweaver CS5 建立新站点" /&gt;&lt;/p&gt;&lt;p&gt;在同一对话框中切换到&amp;rdquo;Servers&amp;rdquo;界面，点击&amp;rdquo;+&amp;rdquo;号添加测试服务器。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-2.jpg" alt="Dreamweaver CS5 添加测试服务器" /&gt;&lt;/p&gt;&lt;p&gt;上面我们说到 Dreamweaver CS5 中启用 WordPress 代码提示功能需要一个测试服务器，我们已经预先在电脑上安装例如 XAMPP 之类的服务器，并把一些信息输入上图。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-3.jpg" alt="Dreamweaver CS5 测试服务器基本设置" /&gt;&lt;/p&gt;&lt;p&gt;在同一对话框中切换到&amp;rdquo;Advanced&amp;rdquo;界面，&amp;rdquo;Server Model&amp;rdquo;选择&amp;rdquo;PHP MySQL&amp;rdquo;，保存。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-4.jpg" alt="Dreamweaver CS5 测试服务器高级设置" /&gt;&lt;/p&gt;&lt;p&gt;返回到&amp;rdquo;Servers&amp;rdquo;设置界面，选中&amp;rdquo;Testing&amp;rdquo;，保存，退出此对话框，完成站点设置了。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-5.jpg" alt="把服务器设置为测试" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;开启 Dreamweaver CS5 中 WordPress 代码提示功能&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;点击 Dreamweaver 菜单中的 &amp;rdquo;Site&amp;ndash;&amp;gt;Site-Specific Code Hints&amp;rdquo;，以便让站点与 WordPress关联，如上图，一般 Dreamweaver 会自动选中 WordPress，如果没有，请手工选择一下，保存退出些对话框。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-6.jpg" alt="开启 Dreamweaver CS5 中 WordPress 代码提示功能" /&gt;&lt;/p&gt;&lt;p&gt;好了，一切设置已完成，下面是见证奇迹的时刻，打开一个 WordPress主题中的文件，例如 index.php，如下图：&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic.fairyfish.com/2010/08/dreamweaver-wordpress-code-hinting-7.jpg" alt="Dreamweaver CS5 的 WordPress 代码提示功能" width="600" /&gt;&lt;/p&gt;&lt;p&gt;输入WordPress 某个函数的前几个字符，例如 &amp;rdquo;the_&amp;rdquo;，按 Ctrl+H，就会弹出 WordPress 里以&amp;rdquo;the_&amp;rdquo;开头的所有函数供你选择，是不是很方便呢？&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2335543.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/dreamweaver-wordpress-code-intelligence.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/2335245.html</id><title type="text">This theme is released under creative commons licence, all links in the footer should remain intact解决方法</title><summary type="text">使用wordpress主题时对模版修改称自己喜欢的样式，有时在对footer.php中的内容修改后会遇到 :This theme is released under creative commons licence, all links in the footer should remain intact，然后网站和后台都进不去的情况。解决办法是去空间把footer.php改回原来的样子，或者重新上传覆盖原有主题。然后在后台或者空间找到header.php，删除下面的代码：&lt;?php eval(str_rot13(‘shapgvba purpx_s_…………vagnpg\’);qvr;}</summary><published>2012-02-01T16:27:00Z</published><updated>2012-02-01T16:27:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/2335245.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/2335245.html"/><content type="html">&lt;p&gt;使用wordpress主题时对模版修改称自己喜欢的样式，有时在对footer.php中的内容修改后会遇到 :This theme is released under creative commons licence, all links in the footer should remain intact，然后网站和后台都进不去的情况。&lt;/p&gt;&lt;p&gt;解决办法是去空间把footer.php改回原来的样子，或者重新上传覆盖原有主题。然后在后台或者空间找到header.php，删除下面的代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&amp;lt;?php &lt;span style="color: #0000ff;"&gt;eval&lt;/span&gt;(&lt;span style="color: #008080;"&gt;str_rot13&lt;/span&gt;(&amp;lsquo;shapgvba purpx_s_&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;vagnpg\&amp;rsquo;);qvr;}}purpx_s_sbbgre();&amp;rsquo;)); ?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php &lt;span style="color: #0000ff;"&gt;eval&lt;/span&gt;(&lt;span style="color: #008080;"&gt;str_rot13&lt;/span&gt;(&amp;lsquo;shapgvba &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;purpx_shapgvbaf();&amp;rsquo;)); wp_head(); ?&amp;gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;然后在后台或者空间找到functions.php，删除下面的代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;eval&lt;/span&gt;(&lt;span style="color: #008080;"&gt;str_rot13&lt;/span&gt;(&amp;lsquo;shapgvba purpx_sbbgre(){&lt;span style="color: #800080;"&gt;$y&lt;/span&gt;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; vagnpg\&amp;rsquo;;qvr;}}purpx_sbbgre();&amp;rsquo;));&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;eval&lt;/span&gt;(&lt;span style="color: #008080;"&gt;str_rot13&lt;/span&gt;(&amp;lsquo;shapgvba purpx_urnqre&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;erznva vagnpg\&amp;rsquo;);qvr;}}&amp;rsquo;));&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;现在就可以修改footer.php了。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2335245.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2012/02/02/2335245.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Fred_Xu/archive/2011/09/12/httprequest-eurl-axd-error.html</id><title type="text">ASP.NET生成eurl.axd Http异常错误处理方法【转】</title><summary type="text">在IIS6中同时启用了ASP.NET 2.0 和 ASP.NET 4.0 后，网站程序可能会出现如下错误：“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”错误发生的原因是当ASP.NET检测到Web站点配置为使用ASP.NET 4.0，本地ASP.NET 4.0 的组件会传递一个不能扩展的 URL到ASP.NET的管理程序作进一步处理。但是，如果一个低于ASP.NET 4.0 的网站配置为使用ASP.NET 2.0，处理这样不能扩展的 URL 时，URL的修改结果中会包含字符串“eurl.axd”，修改后的URL会被</summary><published>2011-09-12T04:53:00Z</published><updated>2011-09-12T04:53:00Z</updated><author><name>Fred_Xu</name><uri>http://www.cnblogs.com/Fred_Xu/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Fred_Xu/archive/2011/09/12/httprequest-eurl-axd-error.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Fred_Xu/archive/2011/09/12/httprequest-eurl-axd-error.html"/><content type="html">&lt;p&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Tahoma; line-height: 25px;"&gt;在IIS6中同时启用了ASP.NET 2.0 和 ASP.NET 4.0 后，网站程序可能会出现如下错误：&amp;ldquo; System.Web.HttpException: Path &amp;lsquo;//eurl.axd/&amp;lsquo; was not found. &amp;rdquo;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;错误发生的原因是当ASP.NET检测到Web站点配置为使用ASP.NET 4.0，本地ASP.NET 4.0 的组件会传递一个不能扩展的 URL到ASP.NET的管理程序作进一步处理。但是，如果一个低于ASP.NET 4.0 的网站配置为使用ASP.NET 2.0，处理这样不能扩展的 URL 时，URL的修改结果中会包含字符串&amp;ldquo;eurl.axd&amp;rdquo;，修改后的URL会被发送到 ASP.NET 2.0应用程序。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;ASP.NET 2.0中是不能识别&amp;ldquo;eurl.axd&amp;rdquo;的。因此ASP.NET 2.0会尝试查找一个文件名为&amp;ldquo;eurl.axd&amp;rdquo;的文件并执行它。因为没有这样的文件，所以会请求失败，Http异常并抛出带有字符串&amp;ldquo;eurl.axd&amp;rdquo;的错误。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;span style="font-weight: bold; padding: 0px; margin: 0px;"&gt;有三种方法可以解决这样的问题：&lt;/span&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;1.如果网站程序不需要ASP.NET 4&amp;lrm;.0 的支持，那么可以直接配置网站使用ASP.NET 2.0。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;2.如果网站程序需要ASP.NET 4&amp;lrm;.0的支持，就需要将该网站下使用ASP.NET 2.0的虚拟目录移动到其他网站。&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;3.如果上面两种方法都不适用于你的实际情况，那么就只能用这种方法了：&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;打开注册表找到&amp;ldquo;HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\ASP.NET\\4.0.30319.0&amp;rdquo;，添加键值名为&amp;ldquo;EnableExtensionlessUrls&amp;rdquo; 类型为&amp;ldquo;DWORD&amp;rdquo;的键值，并设置值为&amp;ldquo;0&amp;rdquo;。然后在cmd中运行&amp;ldquo;IISRESET&amp;rdquo;，重启IIS以读取注册表修改后的内容。注：此项修改就是关闭ASP.NET 4&amp;lrm;.0对无扩展URL的处理，若将此项键值设为&amp;ldquo;1&amp;rdquo;则开启。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Fred_Xu/aggbug/2174007.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Fred_Xu/archive/2011/09/12/httprequest-eurl-axd-error.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
