<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[Theosoft.Blog]]></title>
<link>http://blog.theosoft.net/</link>
<description><![CDATA[Goddess Light My Path!]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[info@theosoft.net(Johnson)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>Theosoft.Blog</title> 
	<url>http://blog.theosoft.net/images/logos.gif</url> 
	<link>http://blog.theosoft.net/</link> 
	<description>Theosoft.Blog</description> 
</image>

			<item>
			<link>http://blog.theosoft.net/default.asp?id=94</link>
			<title><![CDATA[利用JQuery+Ajax实现aspx页面无刷新的动态数据绑定]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[学习笔记]]></category>
			<pubDate>Sun,19 Oct 2008 14:20:15 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=94</guid>	
		<description><![CDATA[<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">好长的名字啊！自己看得都觉得累了&hellip;&hellip;废话到此为止，开始正文：</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;</font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;&nbsp;我们在写</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">asp.net</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">网页的时候，会用到很多需要数据绑定的控件。</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Asp.net</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">提供了数据绑定这一特性，确实方便了很多。但是这样的绑定都是在服务器端完成的，而我们有时会希望根据用户的选择来动态的更新其它一些控件的数据内容。例如用两个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来让用户选择所在的城市，一个绑定&ldquo;省&rdquo;一级的数据，如&ldquo;浙江&rdquo;、&ldquo;吉林&rdquo;等，另一个绑定用户选择的&ldquo;省&rdquo;下面的城市。要实现这样一个动态的数据绑定其实不难，可以把前一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">autopostback</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">属性设成</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">true</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，然后在事件里绑定后一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的数据就可以了。这样虽然是可以实现动态数据绑定，但是用户每选一个选项，网页就不得不刷新一次，内容一多，就很浪费时间。那有没有不刷新页面但又能动态绑定数据的方法呢？当然有！方法就是用现在十分流行的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">技术。</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri"><span style="mso-spacerun: yes"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;</font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;&nbsp;</span></span>Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的应用十分广泛，这里仅仅介绍利用</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">JQuery</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来实现异步数据更新的方法。</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">jQuery </font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">JavaScript </font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">库，它有助于简化</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri"> JavaScript</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&trade;</span><span style="FONT-SIZE: 9pt"><font face="Calibri"> </font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">以及</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri"> Asynchronous JavaScript + XML (Ajax) </font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">编程。在</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">JQuery</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中有一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的调用方法：</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">$.ajax({</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">type: &quot;POST&quot;,</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">url: window.location.protocol + &quot;//&quot; + window.location.host + &ldquo;a.aspx&rdquo;,</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">data: postdata,</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">complete: function(msg){ </font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">ShowResult(msg.responseText);</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">} ,</font></span></p>
<p style="TEXT-ALIGN: left; TEXT-INDENT: 7.05pt; MARGIN: 0cm 0cm 0pt; mso-char-indent-count: .67" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">dataType : &quot;html&quot;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">});</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;</font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;&nbsp;这里的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">url</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是目标页面，通常我们会专门处理这些</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">请求，单独写一个页面，这里假定为</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax.aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">data</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是你要</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">post</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">给目标页面的数据，例如&ldquo;</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">do=getcity&amp;province=100</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&rdquo;。</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Complete</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里的那个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">function</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ShowResult(msg.responseText);</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是用来处理</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的返回结果的，结果会以</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">html</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的形式保存在参数</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">msg.responseText</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里。</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">了解了这个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的调用方法，我们来说说到底怎样实现数据的动态绑定。还是以刚才说的&ldquo;选择城市&rdquo;作为例子。首先在你要显示的页面（例如</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Selectcity.aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）有一个空的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（这个是用来选择&ldquo;城市&rdquo;的，不是那个选择&ldquo;省份&rdquo;的），在其外面包一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">&lt;div&gt;</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">标签，</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">id</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">为</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">city</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。这个是假的，只是在那里占个位子，真正的数据并不会绑定到这个控件上。然后我们在</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">页面</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax.aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里也放一个一模一样的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。然后我们绑定选择&ldquo;省份&rdquo;的那个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">onchange</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">事件（以下所说的事件，都是</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">javascript</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">事件，而非</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">asp.net</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">事件），让其调用我们的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法。然后，</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">会把用户选择的&ldquo;省份&rdquo;放在</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">postdata</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里（如&ldquo;</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">do=getcity&amp;province=100</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&rdquo;）传到</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">Ajax.aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">页面，页面获得这个参数后，为</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax.aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">上的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">绑定数据。结果以</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">html</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的形式保存到</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">msg.responseText</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里。</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;</font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;&nbsp; 接下来要怎么做也许你已经想到了，对了，我们要用的就是&ldquo;狸猫换太子&rdquo;的手段。前面调用</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">方法的时候，不是还有一个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ShowResult</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的方法吗？那个方法在获得了我们</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">ajax</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">页面的返回结果。我们知道，</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">最终生成的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">&lt;select&gt;</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">空间，所以我们把返回结果里从&ldquo;</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">&lt;select&gt;</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&rdquo;到&ldquo;</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">&lt;/select&gt;</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&rdquo;之间的部分提取出来，替换到那个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">id=city</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">div</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">innerHTML</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里，覆盖原来占位的那个</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。于是，我们的动态数据绑定就完成了。</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="FONT-SIZE: 9pt" lang="EN-US"><span style="mso-spacerun: yes"><font face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">不知道你听明白了没有，下面给出文中提到的各个文件的源码，如果你没有看明白，就自己捉摸捉摸吧</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">^_^ </font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><b style="mso-bidi-font-weight: normal"><u><span lang="EN-US"><font size="3"><font face="Calibri">Ajax.js </font></font></span></u></b></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">function GetCity(provinceID)</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">{</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>$.ajax({</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>type: &quot;POST&quot;,</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>url: window.location.protocol + &quot;//&quot; + window.location.host + &quot;/Ajax.aspx&quot;,</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>data:<span style="mso-spacerun: yes">&nbsp;&nbsp; </span>&quot;do=GetCity&amp;ProvinceID=&quot; + provinceID,</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>complete: function(msg){ </font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ShowCity(msg.responseText);</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>} ,</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>dataType : &quot;html&quot;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}); <span style="mso-tab-count: 1">&nbsp;&nbsp; </span></font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">}</font></span><span lang="EN-US"></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">function ShowCity(strCode)</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">{</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>var obj = document.getElementByid(&quot;City&quot;);</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>var start = strCode.indexOf(&quot;&lt;select&quot;);</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>var end = strCode.indexOf(&quot;&lt;/select&gt;&quot;) + 9;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>var strHtml = strCode.substring(start,end);</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><span style="mso-tab-count: 1"><font size="3" face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>if (obj!=null)</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>{<span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>obj.innerHTML = strHtml;<span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">}</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><b style="mso-bidi-font-weight: normal"><u><span lang="EN-US"><font size="3"><font face="Calibri">Selectcity.aspx </font></font></span></u></b></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;%@ Page language=&quot;c#&quot; Codebehind=&quot;Selectcity.aspx.cs&quot; AutoEventWireup=&quot;false&quot; Inherits=&quot;Selectcity&quot; %&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;html&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp; </span>&lt;head&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;title&gt;Selectcity&lt;/title&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;script language=&quot;JavaScript&quot; src=&quot;/Ajax.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;script language=&quot;JavaScript&quot; src=&quot;/jQuery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp; </span>&lt;/head&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;body topmargin=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot;&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;form id=&quot;Form1&quot; method=&quot;post&quot; runat=&quot;server&quot;&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;asp:DropDownList ID=&quot;province&quot; runat=&quot;server&quot;&gt;&lt;/asp:DropDownList&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;div id=&quot;city&quot;&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;asp:DropDownList ID=&quot;oldcity&quot; runat=&quot;server&quot;&gt;&lt;/asp:DropDownList&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/div&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/form&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/body&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;/html&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri"></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><b style="mso-bidi-font-weight: normal"><u><span lang="EN-US"><font size="3"><font face="Calibri">Selectcity.aspx.cs </font></font></span></u></b></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这个就不给了，随便给那个</span><span style="mso-bidi-font-size: 10.5pt" lang="EN-US"><font size="3" face="Calibri">ID= province</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span style="mso-bidi-font-size: 10.5pt" lang="EN-US"><font size="3" face="Calibri">DropDownList</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">绑定点数据即可。</span><span style="FONT-SIZE: 9pt" lang="EN-US"> </span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><b style="mso-bidi-font-weight: normal"><u><span lang="EN-US"><font size="3"><font face="Calibri">ajax.aspx </font></font></span></u></b></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;%@ Page language=&quot;c#&quot; Codebehind=&quot;Ajax.aspx.cs&quot; AutoEventWireup=&quot;false&quot; Inherits=&quot;Selectcity&quot; %&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;html&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp; </span>&lt;head&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;title&gt;Selectcity&lt;/title&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;script language=&quot;JavaScript&quot; src=&quot;/Ajax.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;script language=&quot;JavaScript&quot; src=&quot;/jQuery.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp; </span>&lt;/head&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;body topmargin=&quot;0&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot;&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;form id=&quot;Form1&quot; method=&quot;post&quot; runat=&quot;server&quot;&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;asp:DropDownList ID=&quot;city&quot; runat=&quot;server&quot;&gt;&lt;/asp:DropDownList&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/form&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/body&gt;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">&lt;/html&gt;</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><font size="3"><b style="mso-bidi-font-weight: normal"><u><span lang="EN-US"><font face="Calibri">Ajax.aspx.cs</font></span></u></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（</span></font><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">只列出关键代码，其它的省略</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><font size="3">）</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">protected void Page_Load(object sender, EventArgs e)</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">{</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>string strAction = Request.Form[&quot;do&quot;] + String.Empty;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>switch (strAction)</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>{</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>case &quot;GetCity&quot;:</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetCity();</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>break;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">}</font></span><span lang="EN-US"></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">protected void GetCity()</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">{</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>string strProvinceID = Request.Form[&quot;ProvinceID&quot;] ?? String.Empty;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>if (!String.IsNullOrEmpty(strProvinceID))</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>{</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><font face="Calibri"><span lang="EN-US"><font size="3"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>List&lt;City&gt; CityList = /</font></span><span style="FONT-SIZE: 9pt" lang="EN-US">*</span></font><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">你要绑定的数据</span><font face="Calibri"><span style="FONT-SIZE: 9pt" lang="EN-US">*</span><span lang="EN-US"><font size="3">/;</font></span></font></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>this.City.DataTextField = &quot;CityName&quot;;<span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span>//</font></font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这里的</span><span style="FONT-SIZE: 9pt" lang="EN-US"><font face="Calibri">city</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">就是前面</span><span lang="EN-US"><font size="3" face="Calibri">aspx</font></span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 9pt; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</span><span lang="EN-US"><font size="3" face="Calibri">DropDownList</font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>this.City.DataValueField = &quot;CityID&quot;;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>this.City.DataSource = CityList;</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>this.City.DataBind();</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}</font></font></span></p>
<p style="TEXT-ALIGN: left; MARGIN: 0cm 0cm 0pt" class="MsoNormal" align="left"><span lang="EN-US"><font size="3" face="Calibri">}</font></span></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=93</link>
			<title><![CDATA[在Web service和.Net服务页面中简单得对调用者进行跟踪]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[学习笔记]]></category>
			<pubDate>Tue,02 Sep 2008 14:59:04 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=93</guid>	
		<description><![CDATA[<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0"><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Web Service</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是微软在</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">.Net Framework</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">里提供的一个十分方便的机制。它允许你将一些实用的，需要被多人分享或者不方便在本地运行的一些功能发布到网站上，像</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">dll</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">一样随时在需要的时候加以调用。还有一些简单的服务页面，诸如本站的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><a href="http://www.theosoft.net/weather" target="_blank"><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US"><font color="#0000ff">天气预报页面</font></span></span></a></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</span><span lang="EN-US" style="FONT-SIZE: 9pt"><a href="http://www.theosoft.net/ipsearch" target="_blank"><font color="#0000ff"><font face="Calibri">IP</font><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><span lang="EN-US">查询页面</span></span></font></a></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。分别以图片形式输出当地的天气情况和以</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Javascript</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的形式输出一段返回</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">地址查询结果的脚本。这样的页面功能简单、单一，可以像普通的图片（</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;img&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）或脚本（</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;script&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">）的方式调用。但有时候，无论是出于日志记录、权限校验、性能分析或者别的什么应用的需要，你可能希望知道到底是哪些人调用了自己的这些服务。那么到底应该怎样记录下这些来访者呢？</span><span lang="EN-US" style="FONT-SIZE: 9pt">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对于</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Web Service</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来说，虽然不能直接获得</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Request</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对象，但是还是可以通过</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Context.Request</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来得到。不过，如果你仅仅通过</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Context.Request.UserHostAddress</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来获得</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的话，你会发现所有的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">其实都是服务器自己的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。这可不是因为那些请求都是你自己调用的，而是因为所有的请求其实都是通过服务器的代理来实现的，所以这些</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">当然都是服务器自己。想要获得真正的调用者，就要透过代理服务器：</span><span lang="EN-US" style="FONT-SIZE: 9pt">
<p>&nbsp;<font face="Calibri"><span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #0066ff; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">if</span><span lang="EN-US" style="FONT-SIZE: 9pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"> (Context.Request.ServerVariables[<span style="COLOR: #31849b; mso-themecolor: accent5; mso-themeshade: 191">&quot;HTTP_VIA&quot;</span>] != <span style="COLOR: #0066ff">null</span>)
<p>&nbsp;<span lang="EN-US" style="FONT-SIZE: 9pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><font face="Calibri">{
<p>&nbsp;<span lang="EN-US" style="FONT-SIZE: 9pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><font face="Calibri"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>ip = Context.Request.ServerVariables[<span style="COLOR: #31849b; mso-themecolor: accent5; mso-themeshade: 191">&quot;HTTP_X_FORWARDED_FOR&quot;</span>].ToString();
<p>&nbsp;<span lang="EN-US" style="FONT-SIZE: 9pt; mso-fareast-font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><font face="Calibri">}
<p>&nbsp;<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这样得道的就是真正调用你的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Web Service</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的那些远程方法的&ldquo;幕后黑手&rdquo;。</span><span lang="EN-US" style="FONT-SIZE: 9pt">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">而对于那些可以在</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;img&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;script&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">这样的标签里直接引用的功能型页面来说，所有的调用都来自客户端的直接访问，通过</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Request.UserHostAddress</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">只能得到客户端的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，那么又该如何找到那个&ldquo;幕后黑手&rdquo;呢？这时候就需要</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">Request.UrlReferrer</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对象来帮忙了。</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">UrlReferrer</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">通常是在超链接的页面里获得&ldquo;来源&rdquo;的父页面的，不过这里也同样可以用来获得引用这些</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;img&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">&lt;script&gt;</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">标签的页面。而且</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">UrlReferrer</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">获得的是</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">URL</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，这可要比只知道对方的</span><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">IP</font></span><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">强多了。<u>不过，值得注意的是，因为</u></span><u><span lang="EN-US" style="FONT-SIZE: 9pt"><font face="Calibri">UrlReferrer</font></span></u><u><span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在客户端的请求中是可以任意伪造的，所以如果想用这个作为权限审核的条件的话会很不安全哦！</span></u></p>
</span></p>
<p>&nbsp;</p>
</font></span></p>
<p>&nbsp;</p>
</font></span></p>
<p>&nbsp;</p>
</font></span></p>
<p>&nbsp;</p>
</span></font></p>
<p>&nbsp;</p>
</span></p>
<p>&nbsp;</p>
</span></p>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=92</link>
			<title><![CDATA[发布集成“IP地址查询”和“天气预报”的WebService项目，Beta1]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[程序/作品]]></category>
			<pubDate>Sat,23 Aug 2008 13:28:04 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=92</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天很高兴得对外发布了我新的基于Asp .Net 的WebService项目：TheoService（嗯，暂时就取这个名字吧）。有了这个WebService项目，今后就可以更好得分享本站上诸如IP地址查询、天气预报这样比较实用的功能，同时也让我自己的这些零零碎碎的小项目有了一个统一的调用接口，也方便了今后的管理。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，废话就先说到这里，还是先来公布这个WebService的地址吧。该项目的地址是<a href="http://www.theosoft.net/webservice/theoservice.asmx" target="_blank">http://www.theosoft.net/webservice/theoservice.asmx</a>。点击这个地址，可以看到该项目暂时对外提供5个函数接口。</p>
<p><img alt="" src="http://blog.theosoft.net/attachments/month_0808/82008823125742.png" /></p>
<p>点击右边的 <a href="http://www.theosoft.net/webservice/theoservice.asmx?WSDL" target="_blank"><strong><font color="#6699cc">Service Description</font></strong></a>&nbsp;可以查看该WebService的WSDL文档描述。点击这些函数名，你也可以查看这些函数详细的参数定义。我先在这里做个简单的介绍吧。</p>
<p><a href="http://www.theosoft.net/webservice/theoservice.asmx?op=GetAddress" target="_blank"><strong><font color="#6699cc">GetAddress</font></strong></a> ：<font color="#0000ff">string</font> GetAddress(<font color="#0000ff">string</font> myip);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入参数为IPv4地址，返回值为该IP所属的地区</p>
<p><a href="http://www.theosoft.net/webservice/theoservice.asmx?op=GetWeatherByCity" target="_blank"><strong><font color="#6699cc">GetWeatherByCity</font></strong></a> ：<font color="#0000ff">Weather</font> GetWeatherByCity(<font color="#0000ff">string</font> CityName);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入参数为城市名，返回值为Service所定义的Weather类型，包含天气的所有信息</p>
<p><a href="http://www.theosoft.net/webservice/theoservice.asmx?op=GetWeatherByIP" target="_blank"><strong><font color="#6699cc">GetWeatherByIP</font></strong></a>：<font color="#0000ff">Weather</font> GetWeatherByIP(<font color="#0000ff">string</font> MyIP);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入参数为IPv4地址，返回值为该IP所属的地区(城市)的天气</p>
<p><a href="http://www.theosoft.net/webservice/theoservice.asmx?op=GetWeatherImgByCity" target="_blank"><strong><font color="#6699cc">GetWeatherImgByCity</font></strong></a> ：<font color="#0000ff">byte</font>[] GetWeatherImgByCity(<font color="#0000ff">string</font> CityName, <font color="#0000ff">string</font> backColor)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;输入参数为城市名和图片背景色，返回值为<font color="#0000ff">byte</font>[] 类型的图片数据流</p>
<p><a href="http://www.theosoft.net/webservice/theoservice.asmx?op=GetWeatherImgByIP" target="_blank"><strong><font color="#6699cc">GetWeatherImgByIP</font></strong></a>：<font color="#000000"><font color="#0000ff">byte</font>[] GetWeatherImgByIP(<font color="#0000ff">string</font> MyIP, <font color="#0000ff">string</font> backColor)</font>;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 输入参数为IPv4地址和图片背景色，返回值为<font color="#0000ff">byte</font>[] 类型的图片数据流</p>
<p><font color="#ff0000">注：图片背景色是html里用的6位的RGB编码，<a href="http://blog.theosoft.net/article.asp?id=88" target="_blank"><font color="#ff0000">详见示例</font></a></font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，函数就先介绍到这里，下面举个使用该WebService的简单的范例。</p>
<p>就以本站的天气预报功能来说吧。大家肯定都注意到了本站右上角会以一张图片的形式显示您所在地区的天气情况。就是这个<img alt="" src="http://www.theosoft.net/weather/" />。这个天气预报会根据访问者的IP自动识别出其所在的城市，并给出该城市的气象数据。那么究竟该怎样实现这一功能呢？答案其实很简单。首先当然是要在你的网站里添加我的这个WebService的引用。</p>
<p>右键点击你的项目，选择&ldquo;添加Web引用&rdquo;</p>
<p><img alt="" src="http://blog.theosoft.net/attachments/month_0808/72008823132024.png" /></p>
<p>然后在&quot;URL&quot;里填上WebService的地址，再启个合适的引用名（这里假定Theosoft.Service）</p>
<p><a href="http://blog.theosoft.net/attachments/month_0808/i2008823132252.png" target="_blank"><img height="468" alt="" src="http://blog.theosoft.net/attachments/month_0808/i2008823132252.png" width="600" /></a></p>
<p>点击&quot;添加引用&quot;后，就完成了。然后，再简单的写一段代码，获得用户的IP地址，并将网页以图片形式输出，这个功能就完成了。</p>
<div class="source" style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jquery1219466565425="2"><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span><span style="COLOR: #0000aa">using</span> <span style="COLOR: #00aaaa; TEXT-DECORATION: underline">System</span>;<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span><span style="COLOR: #0000aa">using</span> <span style="COLOR: #00aaaa; TEXT-DECORATION: underline">Theosoft.Service</span>;<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span><br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span><span style="COLOR: #0000aa">public</span> <span style="COLOR: #0000aa">partial</span> <span style="COLOR: #0000aa">class</span> <span style="COLOR: #00aa00; TEXT-DECORATION: underline">_Default</span> : System.Web.UI.Page <br /><span class="lineno special"></span><span style="COLOR: #0000aa">{</span><br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp; <span style="COLOR: #0000aa">protected</span> <span style="COLOR: #0000aa">void</span> <span style="COLOR: #00aa00">Page_Load</span>(<span style="COLOR: #00aaaa">object</span> sender, EventArgs e)<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp; <span style="COLOR: #0000aa">{</span><br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#3366ff">TheoService</font> TS = <span style="COLOR: #0000aa">new</span> <font color="#3366ff">TheoService</font>();<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #00aaaa">string</span> bgColor = <span style="COLOR: #aa5500">&quot;#&quot;</span> + Request.QueryString[<span style="COLOR: #aa5500">&quot;color&quot;</span>];<br /><span class="lineno special"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #00aaaa">string</span> myip = Request.UserHostAddress;<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="COLOR: #00aaaa">byte</span>[] bmp = TS.GetWeatherImgByIP(myip, bgColor);<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ClearContent();<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.ContentType = <span style="COLOR: #aa5500">&quot;image/png&quot;</span>;<br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.BinaryWrite(bmp);<br /><span class="lineno special"></span>&nbsp;&nbsp;&nbsp; <span style="COLOR: #0000aa">}</span><br /><span class="lineno" style="COLOR: #aaaaaa; FONT-STYLE: italic"></span><span style="COLOR: #0000aa">}</span><br /></div>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=91</link>
			<title><![CDATA[贴两个有意思的Javascript]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[其它]]></category>
			<pubDate>Sun,20 Jul 2008 22:41:40 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=91</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前两天在cb上看到的，觉得就这两个最有意思，所以贴在这里。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个：javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName(&quot;img&quot;); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+&quot;px&quot;; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+&quot;px&quot;}R++}setInterval('A()',5); void(0);</p>
<p>其作用是让网页代码里的&ldquo;img&rdquo;标识符（即图片）做无敌风火轮运动。呵呵，蛮好玩的，实用性不大。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下一个实用性比较大：javascript:document.body.contentEditable='true'; document.designMode='on'; void 0;</p>
<p>起作用是使当前页面进入&ldquo;编辑模式&rdquo;，你可以在浏览器里随意修改网页的内容！！！具体能派啥用场，不用我说了吧<img src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face19.gif" alt="" /></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=90</link>
			<title><![CDATA[新的PJBlog防止垃圾评论的方法]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[建站日志]]></category>
			<pubDate>Thu,26 Jun 2008 17:49:41 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=90</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记得曾经发表过一篇关于如何防治PJBlog垃圾评论的文章，用了哪个方法之后，我的Blog的确清静了好一段时间。但是最近一段时间Blog上又出现不少垃圾评论，针对这种情况，暂时采用如下措施，也不知道能应付的过去，呵呵！</p>
<p>修改：class/cls_article.asp文件</p>
<div class="UBBContent">&lt;input name=&quot;validate&quot; type=&quot;text&quot; size=&quot;4&quot; class=&quot;userpass&quot; maxlength=&quot;4&quot;/&gt;</div>
<div class="UBBContent">&nbsp;</div>
<div class="UBBContent">改为</div>
<div class="UBBContent">&nbsp;</div>
<div class="UBBContent">
<div class="UBBContent">&lt;input name=&quot;validate&quot; type=&quot;text&quot; size=&quot;12&quot; class=&quot;userpass&quot; maxlength=&quot;12&quot;&nbsp;&nbsp;value=&quot;请输入验证码&quot; onmouseover=&quot;this.focus()&quot; onblur=&quot;if (this.value =='')this.value='请输入验证码'&quot; onfocus=&quot;this.select()&quot; onclick=&quot;if (this.value=='请输入验证码') this.value=''&quot;/&gt;</div>
<div class="UBBContent">&nbsp;</div>
<div class="UBBContent">这样，默认的&ldquo;验证码&rdquo;不再为空，希望可以借此解决这个问题。</div>
</div>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=89</link>
			<title><![CDATA[在Ubuntu下共享打印机]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[LINUX]]></category>
			<pubDate>Fri,30 May 2008 21:26:30 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=89</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共享打印机？呵呵，这个在Windows下，因该人人都会吧！但是到了Ubuntu下，又该怎么做呢？我家里有一台台式机，接了家里唯一的一台打印机。可是平时我都是用的自己的笔记本，想要打印点什么的时候，就不得不先把东西拷到台式机上再打印，或者把打印机的接口拔下来，插到笔记本上，总之很不方便。共享打印机吧，总部能为了不知何时才能想到要打印的那几页纸而整天让我的台式机待机吧，这家伙功耗可不小阿。今天突然灵机一动：何不将家里那台破笔记本来充当中转站呢？不过这台破笔记本实在太破，连windows都装不上，只能靠着Ubuntu勉强还能跑跑，因为笔记本省电，所以常用它来下下bt、挂挂机什么的。所以决定用它来共享打印机。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，还是来看看具体怎么做吧。Ubuntu自身并没有打印机共享功能，所以需要安装额外的软件。在命令行里输入sudo apt-get install cupsys，或者直接在新立得里面装也不错。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装很简单，装完以后在浏览器里输入<a href="http://127.0.0.1:631/printers">http://127.0.0.1:631/printers</a>，就能打开管理页面了。</p>
<p><img height="596" alt="" src="http://blog.theosoft.net//attachments/month_0805/ubuntu_printer.JPG" width="918" /></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记得先start printer哦，然后就可以到windows下，把刚才地址里的127.0.0.1替换成ubuntu电脑的ip，就可以进行管理了。然后在页面中选取打印机，这样我们就可以得到打印机的地址(地址栏里的地址就是)。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后，在windows里面点击添加打印机，将地址填入即可。</p>
<p><img alt="" src="http://blog.theosoft.net//attachments/month_0805/windows_printer.JPG" /></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=88</link>
			<title><![CDATA[&#34;天气预报&#34;组件,Beta3版发布！]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[建站日志]]></category>
			<pubDate>Thu,01 May 2008 14:29:27 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=88</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这次对之前的版本做了些小小的更新，主要是支持输出图片背景颜色的自定义。现在天气预报组件的引用地址为<a href="http://www.theosoft.net/weather/">http://www.theosoft.net/weather/</a>，后面可以通过附加参数color来指定输出图片的背景颜色。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如，引用<a href="http://www.theosoft.net/weather/?color=f7a64d">http://www.theosoft.net/weather/?color=f7a64d</a>, 则可以获得这样的效果：<img src="http://www.theosoft.net/weather/?color=f7a64d" alt="" />。</p>
<p>６个数字分别为１６进制的ＲＧＢ分量，尚不支持ＲＥＤ这样的字符型颜色。若输入的颜色不合法，将采用本站默认的颜色FAF7EF，即：<img src="http://www.theosoft.net/weather/" alt="" />。</p>
<p>如果需要白色背景，可以引用<a href="http://www.theosoft.net/weather/?color=ffffff">http://www.theosoft.net/weather/?color=ffffff</a>,效果如下：<img src="http://www.theosoft.net/weather/?color=ffffff" alt="" /></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下一个版本将有可能支持输出图片大小的自定义，如果你有其它更好的点子，欢迎和我交流<img alt="" src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face19.gif" /></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=87</link>
			<title><![CDATA[破解补丁——Proxifier]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[破解]]></category>
			<pubDate>Fri,28 Mar 2008 22:04:56 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=87</guid>	
		<description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发一个今晚刚刚破解的软件&mdash;&mdash;Proxifier的补丁，是一个全局上网代理，用手机上网的人应该都了解这个软件，特别适合那些不能设置代理，但又需要通过代理来上网的软件。很有用，于是破解以后就立马发上来啦<img alt="" src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face19.gif" /></p>
<p><a href="http://blog.theosoft.net/attachments/month_0803/b200832822627.rar"><img style="MARGIN: 0px 2px -4px 0px" alt="" src="http://blog.theosoft.net/images/download.gif" border="0" />点击下载此文件</a></p>]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=86</link>
			<title><![CDATA[农历显示全面支持Firefox!]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[建站日志]]></category>
			<pubDate>Fri,21 Mar 2008 22:45:21 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=86</guid>	
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原先的农历在Firefox下显示会有问题，不知是Firefox和IE在执行javascript的时候有区别还是怎么的，一直没能解决。现在在Firefox下，农历将不再自己计算，转而从Live网站直接获取，解决了这个显示异常的错误<img src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face24.gif" alt="" />]]></description>
		</item>
		
			<item>
			<link>http://blog.theosoft.net/default.asp?id=85</link>
			<title><![CDATA[发布&#34;天气预报&#34;组件,Beta2!]]></title>
			<author>info@theosoft.net(Johnson)</author>
			<category><![CDATA[建站日志]]></category>
			<pubDate>Fri,21 Mar 2008 22:39:06 +0800</pubDate>
			<guid>http://blog.theosoft.net/default.asp?id=85</guid>	
		<description><![CDATA[<p>　　经过了将近2个月的改进（其实主要是因为最近开始实习了，没时间阿），&ldquo;天气预报&rdquo;组件终于发布了Beta2版本。</p>
<p>　　这次主要的改进当然还是在支持的城市上。新发布的Beta2版本已经支持全国多达200+的城市和地区，基本涵盖了全国各个地区哦。另一大改进在于其变现形式。本来是输出一个页面，然后用frame来引用，这就使得其使用的便捷性大大的降低了。新的版本现在直接将天气输出委一张图片，这样大家就可以随意的像引用一张图片一样来引用这项功能了，是不是很方便呢<img alt="" src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face19.gif" /></p>
<p>　　最后来讲讲目前这些功能的实现原理。首先当然是要获得客户端的ip地址，然后呢，就是将这个ip地址发送到cz88.net去查询这个ip的所在地。返回的结果中，除了直辖市和特别行政区外，都由省份和城市两部分组成。利用这两个信息，可以很快地检索到你所在城市的地区编码，然后用这个编码去中央气象局检索天气信息。最后将的得到的天气信息以图片的方式输出即可。呵呵，是不是说得有点乱？语言表达能力有限，大家不要见怪阿！</p>
<p>　　大家以后如果需要引用这个功能的话，可以直接以图片的方式引用<a href="http://www.theosoft.net/weather/">http://www.theosoft.net/weather/</a>这个地址就好了。</p>
<p>举例来说，在你的网页上添加如下代码：&lt;img src=&quot;<a href="http://www.theosoft.net/weather/">http://www.theosoft.net/weather/</a>&quot;&nbsp;/&gt;就好了<img alt="" src="http://blog.theosoft.net//fckeditor/editor/images/smiley/tt/face44.gif" /></p>
<p>效果如下：<img alt="" src="http://www.theosoft.net/weather/" /></p>]]></description>
		</item>
		
</channel>
</rss>