<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_一沙一世界，一花一天堂。</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/17295/rss</id><updated>2011-05-12T08:24:47Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/17295/rss"/><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982283.html</id><title type="text">ArcGIS Server .NET ADF中的AJAX之深入浅出/CallbackResult详解</title><summary type="text">ArcGIS Server .NET ADF中的AJAX之深入浅出/CallbackResult详解原文：http://bbs.esrichina-bj.cn/ESRI/thread-61303-1-5.html论坛中已有不少关于.NET ADF中AJAX的精彩讲解，但切入点有些抽象。本文试图从一个初学者的角度着眼，从AJAX讲起，由浅入深，去掉不必要的技术细节，使大家对.NET ADF中AJAX有清晰的理解。再辅以前人的教程，由此能更充分地掌握.NET ADF中AJAX的工作原理。 经常在论坛上看到很多朋友问：为什么我已经创建了一个callbackresult，但是浏览器中却没有任何反应？或</summary><published>2011-03-12T07:28:00Z</published><updated>2011-03-12T07:28:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982283.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982283.html"/><content type="html">&lt;p&gt;&lt;strong&gt;ArcGIS Server .NET ADF中的AJAX之深入浅出/CallbackResult详解&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/ESRI/thread-61303-1-5.html"&gt;http://bbs.esrichina-bj.cn/ESRI/thread-61303-1-5.html&lt;/a&gt;&lt;/p&gt;论坛中已有不少关于.NET ADF中AJAX的精彩讲解，但切入点有些抽象。本文试图从一个初学者的角度着眼，从AJAX讲起，由浅入深，去掉不必要的技术细节，使大家对.NET ADF中AJAX有清晰的理解。再辅以前人的教程，由此能更充分地掌握.NET ADF中AJAX的工作原理。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;经常在论坛上看到很多朋友问：为什么我已经创建了一个callbackresult，但是浏览器中却没有任何反应？或者我已经把ADF控件放到了 UpdatePanel里，但为什么还是达不到我想要的效果？9.3版本的.NET Web ADF发布近2年的时间里，ESRI从来没有说过：&amp;ldquo;很抱歉，我们ADF中的AJAX工作流程有时候可能会出现一点问题&amp;rdquo;，这证明.NET Web ADF中的AJAX还是足够可靠的，事实是问题只可能出现在我们的代码里。甚至在你根本还没有弄清如何来正确使用ADF中的AJAX时，就模仿别人的代码，寄希望于你也不知道为什么要创建的一个callbackresult就能够好好的为你工作，这不应该是经常和只知道循规蹈矩的机器打交道的人所做的事情。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;既然你已经选择了.NET ADF，并想利用好其中的AJAX能力，那么弄清楚它的原理应该是必要的，可以从本文第二部分开始阅读；但也许你是一个ArcGIS Server的新手，甚至是ASP.NET的新手，不得不在短时间内完成你手上的GIS任务，并不关心它的原理，那你可以阅读本文的前两部分或者只是第二部分。（如果你是一个网页开发的新手，那么请自行学习HTML+CSS+Javascript）&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="color: blue;" color="Blue"&gt;&lt;strong&gt;第一部分：1分钟AJAX时间&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;典型的，ASP.NET 2.0之前的网页，当客户端发送请求的时候，比如点击&amp;ldquo;开始处理&amp;rdquo;按钮，会将整个页面信息提交到服务器上这个页面对应的类进行处理（发送的请求叫做 postback），这个页面类处理完成后将结果（包括页面原有的信息）输出成浏览器能够识别的HTML+CSS+Javascript返回客户端，你才会看到结果页面。提交请求后到结果页面呈现前，你的鼠标会呈沙漏状，无法操作页面；结果页面呈现的一瞬间，你会看到整个页面完全刷新一次。AJAX的出现就是为了解决这个糟糕的过程，有了AJAX本领的页面，当你点击&amp;ldquo;开始处理&amp;rdquo;按钮后，你依然能够对页面其他部分进行操作，结果呈现的时候也不会刷新全部页面，而只是悄悄修改需要改变的部分。目前互联网上大多数页面都有AJAX能力，但不要迷恋AJAX，它只是个效果的名称而已，你需要感谢的是 ASP.NET中实现AJAX的两个功臣：ASP.NET 2.0时候出现的Client Callback和ASP.NET 2.0的一个扩展ASP.NET AJAX。但也不要迷恋ASP.NET，因为在最下面真正干苦力活的是Javascript里的XMLHttpRequest对象，前两者是对其不同程度的封装。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;最后重复一下，Client Callback和ASP.NET AJAX是并列关系，根据你的需要取其一作为你实现AJAX的手段即可。&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="color: blue;" color="Blue"&gt;&lt;strong&gt;第二部分：如何正确使用CallbackResult&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;任何想正确使用CallbackResult的人应该都不会拒绝我先解释一下究竟什么是CallbackResult，那就先来看看它是什么。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;在只有一个Map Control和Toolbar Control页面中，无论你如何操作地图，或者使用Toolbar上的按钮和工具与地图交互，都不会刷新整个页面，这证明所有Web ADF的控件具有AJAX能力，因为其他控件也是如此。Web ADF中的Server Control是如何实现这一点呢？无疑是利用了Client Callback（9.2版本和以上可用）或者ASP.NET AJAX（9.3版本和以上可用）。究竟怎么利用？这个问题先别急，让我们深入一点点。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;针对Web ADF控件，先来看一个普通的操作：鼠标拉框放大地图。它的整个完成过程是这样的：用户在客户端的地图上（其实是ESRI自己封装的名为Map的Javascript对象，属于Web ADF Javascript中的内容）用鼠标拉一个框，松开鼠标的时候地图对象会将一些信息，比如这个框框的范围等，发送到服务器端，服务器端对应的Map控件会根据服务器端当前Map的范围和框框的范围做计算，保留新的范围在服务器的Map控件上。服务器端的过程容易完成，但这些服务器端控件还需要负责任地将这些结果同步到客户端去，否则客户端看不到任何变化。在这个例子中服务器端将结果同步到客户端的过程是，由地图服务输出新的地图图像（如果是缓存地图服务，则给出新范围的切片）传送给客户端。如下图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96603"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96603&amp;amp;k=d99aec843bf21be2ca3337282e0dad05&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96603" alt="ADFAJAX1.jpg" width="543" /&gt;&lt;div class="t_attach" id="aimg_96603_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 1341px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96603&amp;amp;k=d99aec843bf21be2ca3337282e0dad05&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX1.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (20.31 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;如果不细心可以直接看下一段。如果细心，你可能会问为什么一个放大操作，上图会出现那么多回合的请求和响应？事实是，放大地图这个操作里会有两次请求/响应过程。请求1：传输框框范围到服务器；响应1：返回放大后的新地图范围给客户端；（客户端的地图控件收到响应1后立即再次发出）请求2：根据新范围问服务器端地图控件所要结果地图图片；响应2：传输地图图片给客户端。一个放大过程才算完成。结论：对Web ADF控件做的一个操作，很可能会引起不只一次请求和响应，但我们只关心且只需要关心最初的请求和最终的结果，因为其他过程Web ADF控件会自动替我们完成。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;任何对Web ADF控件的操作都是和上面的过程一样，客户端的Web ADF Javascript对象发送请求，服务器端相应的控件处理结果并通过&amp;ldquo;响应&amp;rdquo;（伴随着一系列对我们透明的后续请求和响应）来将结果同步到客户端去，这个 &amp;ldquo;响应&amp;rdquo;就是我们的主角：ADF中的CallbackResult对象（实际上是JSON字符串）。它是由服务器端的Web ADF控件生成，客户端的特定Web ADF Javascript函数负责解析的。不管生成的CallbackResult长什么样，客户端的负责解析的函数名字都叫做：processCallbackResult()。如下图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96604"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96604&amp;amp;k=485b2538ecc6c8647213fdb10866d1db&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96604" alt="ADFAJAX2.jpg" width="476" /&gt;&lt;div class="t_attach" id="aimg_96604_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 1812px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96604&amp;amp;k=485b2538ecc6c8647213fdb10866d1db&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX2.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (32.33 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;为了逻辑上的需要，比如一个动作对应一个CallbackResult，于是就有了上图的CallbackResultCollection。在服务器端，每个Web ADF Control都有一个Callbackresults属性（CallbackResultCollection），为什么需要这样呢？必须记住一点：&amp;ldquo;谁请求，谁管理&amp;rdquo;，即（客户端）发起请求的那个控件（在服务器端所对应的控件）负责传回CallbackResults。CallbackResults传回到客户端后，Web ADF Javascript中的processCallbackResult()函数就会自动对其进行解析。所以开发人员所需要做的工作就是，将服务器端所有产生的CallbackResults交付给负责带回CallbackResults的那个控件&amp;mdash;&amp;mdash;加入控件的CallbackResults属性中。你并不需要关心CallbackResults到了客户端是如何解析的，因为这一切都由processCallbackResult()自动完成。因为请求可能由任何一个控件触发，所以每个Web ADF控件都有一个CallbackResults属性。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;比如，运行时动态给Map控件添加了新的地图服务。在这个过程中，Map控件会发送请求，那么自然是服务器端的Map控件负责将CallbackResults带回客户端。而页面中的TOC控件为了反映出这个变化，在服务器端就要对其进行刷新，刷新这个动作就会使TOC控件自身产生CallbackResults。记住&amp;ldquo;谁请求，谁管理&amp;rdquo;，Map请求，Map管理。如果不将TOC刷新的结果通过Map的CallbackResults带回客户端，那么页面上的TOC是不会有任何变化的。正确的做法是：&lt;div class="blockcode"&gt;&lt;div id="code0"&gt;&lt;ol&gt;&lt;li&gt;... &amp;lt;new map resource item added&amp;gt;&lt;/li&gt;&lt;li&gt;Toc1.Refresh();&lt;/li&gt;&lt;li&gt;Map1.CallbackResults.CopyFrom(Toc1.CallbackResults);&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/div&gt;整个过程如下图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96605"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96605&amp;amp;k=0b806adfe21b468d2e03c9571566bd41&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96605" alt="ADFAJAX3.jpg" width="445" /&gt;&lt;div class="t_attach" id="aimg_96605_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 2622px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96605&amp;amp;k=0b806adfe21b468d2e03c9571566bd41&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX3.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (21.29 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;不是所有的Web ADF变化都需要我们手动处理，下面列出了一些Web ADF控件之间的内在关系：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;已经绑定到Map的Toolbar控件上，任何command或tool执行过程中，会自动将Map的CallbackResults拷贝到Toolbar的CallbackResults中。所以如果在自定义command或tool里对Map做了修改，则不需要将其产生的CallbackResults拷贝给负责带回响应的Toolbar控件；&lt;/li&gt;&lt;li&gt;已经绑定到Map的TOC控件，NodeChecked事件会自动将Map产生CallbackResults拷贝给TOC控件；当Map和TOC中包含有可见性依赖比例尺变化而变化的图层时，ScaleChanged事件会将Toc的CallbackResults拷贝给Map控件；&lt;/li&gt;&lt;li&gt;ScaleBar绑定到Map后，ScaleBar的PreRender事件会将ScaleBar的CallbackResults拷贝给Map控件；&lt;/li&gt;&lt;li&gt;MapCopyrightText控件绑定到Map后，添加或移除map resource item会将MapCopyrightText的CallbackResults拷贝给Map控件；&lt;/li&gt;&lt;li&gt;Magnifier绑定到Map后，改变Map的显示范围或初始化tiling scheme时，会将Magnifier的CallbackResults拷贝给Map控件；&lt;/li&gt;&lt;li&gt;FloatingPanel的Refresh()方法会将其中所有子控件CallbackResults拷贝到自身的CallbackResults中；&lt;/li&gt;&lt;li&gt;TaskResults绑定到Map后，执行一个task会将Map的CallbackResults拷贝给TaskResults控件，TaskResults的CallbackResults随后会自动拷贝给这个执行的task。所以如果你手动将Map的CallbackResults拷贝给这个task的CallbackResults的话，将会产生重复的结果；&lt;/li&gt;&lt;li&gt;TaskResults控件有预定义的ContextMenus。这些右键菜单项的ItemClicked事件会将TaskResults和Map的CallbackResults自动拷贝给ContextMenu。&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;这些内在关系在下面的Web ADF控件一览图中可见一斑。除了以上事件，其他情况下的CallbackResults都需要你自己将其添加到负责带回响应的控件中。&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96606"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96606&amp;amp;k=3277d2ee273dfe0ea1151d2ef4ee37ed&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96606" alt="ADFAJAX4.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96606_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 3258px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96606&amp;amp;k=3277d2ee273dfe0ea1151d2ef4ee37ed&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX4.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (169.51 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;另外，还可以在服务器端自定义CallbackResult，来达到修改客户端非Web ADF控件或者执行一段Javascript代码的目的。自定义CallbackResult可已通过其构造函数或静态方法来实现，这里不再赘述：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96607"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96607&amp;amp;k=6b4a7901e58240baed1ddef51365108d&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96607" alt="ADFAJAX5.jpg" width="533" /&gt;&lt;div class="t_attach" id="aimg_96607_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 3653px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96607&amp;amp;k=6b4a7901e58240baed1ddef51365108d&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX5.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (46.95 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;当然，别忘了将自己创建的CallbackResults拷贝到正确的控件中。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;至此，如何正确使用CallbackResult的问题已经讲完了，这一切叫做Web ADF中callback result框架。它给我们提供了统一的编程体验，而你则可以根据自己的需要和编程经验来选择使用Client Callback还是ASP.NET AJAX。最后郑重提醒一点：如果使用了ASP.NET AJAX方式，在页面中强烈建议让所有Web ADF控件远离UpdatePanel。因为它们本身就能够注册到ScriptManager中，在完全刷新自己的情况下即可完成必要的内容更新。如果你将Web ADF控件放在UpdatePanel中，虽然能够正常工作，但刷新整个Web ADF控件。&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="color: blue;" color="Blue"&gt;&lt;strong&gt;第三部分：深入理解Web ADF中的AJAX&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;现在来看看前面提出的问题：Web ADF究竟是如何利用ASP.NET中的Client Callback或是ASP.NET AJAX的？首先明确一点，Web ADF控件只能使用一种异步通信方式，要么是Client Callback，要么是ASP.NET AJAX。如果页面中有ScriptManager控件，就意味着你选择了ASP.NET AJAX方式进行异步通信，那么Web ADF控件的实际运行中也会采用这种方式；反之如果页面中没有ScriptManager控件，那么Web ADF实质上会采用Client Callback方式来进行异步通信。下面分别通过几个场景来看看两种方式的实际操作区别：&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="font-size: small;" size="3"&gt;&lt;strong&gt;如果采用了Client Callback方式：&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;场景一：Web ADF控件来产生请求和响应，客户端processCallbackResult()来处理响应&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;这个过程就是第二部分中假设的几个场景，请求由一个Web ADF控件产生，服务器端进行处理，也可在此时创建自定义CallbackResult来对页面中其他控件进行修改，最后将这些CallbackResults赋给正确的控件即可；响应带回客户端后，由Web ADF Javascript的processCallbackResult()函数进行解析。如图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96608"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96608&amp;amp;k=b2e95bd238f64fd8e53531d66b553771&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96608" alt="ADFAJAX6.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96608_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 4297px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96608&amp;amp;k=b2e95bd238f64fd8e53531d66b553771&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX6.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (34.4 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;场景二：非Web ADF控件来产生请求和响应，客户端processCallbackResult()来处理响应&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;比如页面实现了ICallbackEventHandler接口，请求由页面中的一个HTML Button发出，在RaiseCallbackEvent()方法中将所有响应，也包括非Web ADF控件的，都构建成CallbackResult的结构，并集中到CallbackResultCollection中，然后在GetCallbackResult()方法中返回CallbackResultCollection.ToString()，客户端处理callback响应的js函数指定为Web ADF Javascript中的processCallbackResult()函数，则省去了自己解析callback响应的麻烦。如图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96609"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96609&amp;amp;k=4ddee8c0da5cbb51fc7821830a1ce03d&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96609" alt="ADFAJAX7.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96609_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 4628px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96609&amp;amp;k=4ddee8c0da5cbb51fc7821830a1ce03d&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX7.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (38.13 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;场景三：非Web ADF控件来产生请求和响应，客户端自己处理响应&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;除了在客户端使用自定义的函数来解析包括CallbackResult结构在内的服务器响应外，其余和场景二是相同的。这种情况下你需要知道CallbackResult的JSON字符串中，使用&amp;ldquo;:::&amp;rdquo;分隔符来分隔参数，使用&amp;ldquo;^^^&amp;rdquo;分隔符来分隔多个CallbackResult，此外processCallbackResult()的定义可在X:\Inetpub\wwwroot\aspnet_client\ESRI\WebADF\JavaScript\ESRI.ADF.System.debug.js中找到。除非你已经有一套处理callback响应的js框架，否则还是推荐在客户端使用processCallbackResult()来进行响应处理。如图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96610"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96610&amp;amp;k=3246c46c6c70ceee43e6be3360e9f133&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96610" alt="ADFAJAX8.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96610_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 4981px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96610&amp;amp;k=3246c46c6c70ceee43e6be3360e9f133&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX8.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (47.53 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt; &lt;span style="font-size: small;" size="3"&gt;如果采用了ASP.NET AJAX方式：&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;场景一：Web ADF控件触发partial postback&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;此情形和Client Callback方式场景一类似，发送请求的Web ADF控件是ASP.NET AJAX中的trigger，它的CallbackResults注册为ScriptManager的一个data item返回客户端。如下图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96611"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96611&amp;amp;k=e480ae254dc4692e5e965e42796ae2b6&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96611" alt="ADFAJAX9.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96611_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 5401px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96611&amp;amp;k=e480ae254dc4692e5e965e42796ae2b6&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX9.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (38.41 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;场景二：非Web ADF控件触发partial postback&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;trigger是非Web ADF控件时，更新Web ADF控件内容的方法有三种：UpdatePanels，data items或dynamic script blocks。如果将Web ADF控件放入UpdatePanel，则根据UpdatePanel的特性，会刷新里面整个Web ADF控件，这是不必要的，Web ADF控件所需要更新的内容仅仅是服务器端产生的CallbackResults，由客户端的processCallbackResult()即可完成，而不需要从头到尾的洗心革面。所以CallbackResults可以当做data items或dynamic script blocks来插入到partial postback的响应中。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;strong&gt;作为dynamic script blocks时：&lt;/strong&gt;首先要使用dynamic script blocks，页面中至少要有一个UpdatePanel（空的也可）。只需要在客户端调用ESRI.ADF.System.processCallbackResult() 来处理服务器端产生的CallbackResults（作为该函数的参数），如下：&lt;div class="blockcode"&gt;&lt;div id="code1"&gt;&lt;ol&gt;&lt;li&gt;. . .&lt;/li&gt;&lt;li&gt;string jsProcessCallbackResult = string.Format("ESRI.ADF.System.processCallbackResult('{0}');",&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp; Map1.CallbackResults.ToString().Replace("\\", "\\\\"));&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;ScriptManager.RegisterClientScriptBlock(Page, sender.GetType(), "changeextent", &lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp; string.Format(jsProcessCallbackResult, Map1.CallbackResults), true); &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/div&gt;此方式的优点：Web ADF控件不需要完全刷新，客户端响应解析也不需要自己来写；缺点：注册的dynamic script blocks会保存在客户端内存中，最终可能会导致浏览器内存超出限制。&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;strong&gt;作为data items时：&lt;/strong&gt;ScriptManager中注册的data items可以在服务器上以（JSON）字符串形式打包传到客户端进行处理。客户端接收到服务器端的异步postback响应后，但在进行任何局部内容的修改前，会触发客户端的pageLoading事件。这样就可以利用PageRequestManager捕捉到这个事件，从而将注册成data items的CallbackResults交给processCallbackResult() 来处理。过程如下图所示：&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_96612"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96612&amp;amp;k=e07620df8004a8879e3acb8362f9d465&amp;amp;t=1299914064&amp;amp;noupdate=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" id="aimg_96612" alt="ADFAJAX10.jpg" width="600" /&gt;&lt;div class="t_attach" id="aimg_96612_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 6287px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=96612&amp;amp;k=e07620df8004a8879e3acb8362f9d465&amp;amp;t=1299914064&amp;amp;nothumb=yes&amp;amp;sid=efdcvtAdkXGhHZfUemgmyZPzVjewq2IVkqiqo%2FXeG7pAtWk" title="ADFAJAX10.jpg" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (45.61 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2010-1-31 00:59&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;在服务器端将CallbackResult注册成data item：&lt;div class="blockcode"&gt;&lt;div id="code2"&gt;&lt;ol&gt;&lt;li&gt;ScriptManager1.RegisterDataItem(Page, Map1.CallbackResults.ToString(), false);&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/div&gt;监听pageLoading事件：&lt;div class="blockcode"&gt;&lt;div id="code3"&gt;&lt;ol&gt;&lt;li&gt;&amp;lt;script&amp;gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Sys.Application.add_init(onInitFunction);&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/li&gt;&lt;li&gt;// Called once during application initialization&lt;/li&gt;&lt;li&gt;function onInitFunction()&lt;/li&gt;&lt;li&gt;{&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(AsyncResponseHandler);&lt;/li&gt;&lt;li&gt;}&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;li&gt;// Called whenever a response to a partial postback is processed on the client&lt;/li&gt;&lt;li&gt;function AsyncResponseHandler(sender, args) &lt;/li&gt;&lt;li&gt;{&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;var dataItems = args.get_dataItems();&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;if (dataItems['__Page'] != null)&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ESRI.ADF.System.processCallbackResult(dataItems['__Page']);&lt;/li&gt;&lt;li&gt;}&lt;/li&gt;&lt;li&gt;&amp;lt;/script&amp;gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/div&gt;现在你对.NET ADF中的AJAX还有疑问吗？如果有不要犹豫，请继续阅读以下学习资源，之后欢迎进行交流。&lt;br /&gt;论坛中S-H-G朋友的系列教程：&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=59604" target="_blank"&gt;ArcGIS Server9.3 AJAX系列(一)之CallbackResults&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=59605" target="_blank"&gt;ArcGIS Server9.3 AJAX系列(二)之Client CallBack解决方案&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=59606" target="_blank"&gt;ArcGIS Server9.3 AJAX系列(三)之ASP.NET AJAX解决方案&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=59607" target="_blank"&gt;ArcGIS Server9.3 AJAX系列(四)之总结&lt;/a&gt;&lt;br /&gt;论坛中Jueery版主的系列教程：&lt;br /&gt;ArcGIS Server .Net ADF中的AJAX(一)（帖子丢失，可在社区3周年精华文集中找到）&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=21387" target="_blank"&gt;ArcGIS Server .Net ADF中的AJAX(二)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=21513" target="_blank"&gt;ArcGIS Server .Net ADF中的AJAX(二)续&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=21391" target="_blank"&gt;ArcGIS Server .Net ADF中的AJAX(三)&lt;/a&gt;&lt;br /&gt;关于Client Callback的详解：&lt;br /&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=51048" target="_blank"&gt;carlbiao朋友的新手讲解.net的callback机制&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dotnet-news.com/lien.aspx?ID=4117" target="_blank"&gt;ASP.NET 2.0's Client Callback Feature&lt;/a&gt;&lt;br /&gt;关于ASP.NET AJAX：&lt;br /&gt;&lt;a href="http://www.asp.net/ajax" target="_blank"&gt;AJAX : The Official Microsoft ASP.NET Site&lt;/a&gt;&lt;br /&gt;关于XMLHttpRequest：&lt;br /&gt;&lt;a href="http://www.w3school.com.cn/php/php_ajax_xmlhttprequest.asp" target="_blank"&gt;http://www.w3school.com.cn/php/php_ajax_xmlhttprequest.asp&lt;/a&gt;&lt;br /&gt;最后不能少的就是帮AGS助中的文章，一切细节都在其中：&lt;br /&gt;&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/ajax_aspnet.htm" target="_blank"&gt;AJAX and ASP.NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/ajax_adf.htm" target="_blank"&gt;AJAX Capabilities of Web ADF Controls Overview&lt;/a&gt;&lt;br /&gt;&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/callbackresults_collections.htm" target="_blank"&gt;Working with CallbackResults&lt;/a&gt;&lt;br /&gt;&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/ajax_callbackmodel.htm" target="_blank"&gt;ASP.NET Callback Solutions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://resources.esri.com/help/9.3/arcgisserver/adf/dotnet/developer/ADF/ajax_postbackmodel.htm" target="_blank"&gt;ASP.NET AJAX partial postback solutions&lt;/a&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982283.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982283.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982252.html</id><title type="text">地图缓存与瓦片切割步骤</title><summary type="text">地图缓存与瓦片切割步骤原文：http://bbs.esrichina-bj.cn/ESRI/thread-58288-1-2.html第一部分主要来源于网络，后部分个人总结，操作上可能有些鄙陋。下载 (49.5 KB)2009-11-30 14:49下载 (41.13 KB)2009-11-30 14:50下载 (54.41 KB)2009-11-30 14:50下载 (42.13 KB)2009-11-30 14:50下载 (51.07 KB)2009-11-30 14:50下载 (43 KB)2009-11-30 14:50下载 (44.52 KB)2009-11-30 14:50下载 (</summary><published>2011-03-12T07:12:00Z</published><updated>2011-03-12T07:12:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982252.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982252.html"/><content type="html">&lt;p&gt;&lt;strong&gt;地图缓存与瓦片切割步骤&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/ESRI/thread-58288-1-2.html"&gt;http://bbs.esrichina-bj.cn/ESRI/thread-58288-1-2.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;第一部分主要来源于网络，后部分个人总结，操作上可能有些鄙陋。&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93636"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93636&amp;amp;k=ba81c7feb65935f479e4c0bd91fe8db1&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93636" alt="1.JPG" width="364" /&gt;&lt;/p&gt;&lt;div class="t_attach" id="aimg_93636_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 354px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93636&amp;amp;k=ba81c7feb65935f479e4c0bd91fe8db1&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="1.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (49.5 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:49&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93637"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93637&amp;amp;k=b067dff06e86a99eb6904e199fadd4cb&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93637" alt="2.JPG" width="374" /&gt;&lt;div class="t_attach" id="aimg_93637_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93637&amp;amp;k=b067dff06e86a99eb6904e199fadd4cb&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="2.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (41.13 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93638"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93638&amp;amp;k=b3f2682d0b25f10b283c56fb24745074&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93638" alt="3.JPG" width="383" /&gt;&lt;div class="t_attach" id="aimg_93638_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93638&amp;amp;k=b3f2682d0b25f10b283c56fb24745074&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="3.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (54.41 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93639"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93639&amp;amp;k=a3a3539e7c7d578ec0054ed958df3aa4&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93639" alt="4.JPG" width="386" /&gt;&lt;div class="t_attach" id="aimg_93639_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93639&amp;amp;k=a3a3539e7c7d578ec0054ed958df3aa4&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="4.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (42.13 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93640"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93640&amp;amp;k=26748cc32bee141f606e6fcaf72cad4a&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93640" alt="5.JPG" width="399" /&gt;&lt;div class="t_attach" id="aimg_93640_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 2667px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93640&amp;amp;k=26748cc32bee141f606e6fcaf72cad4a&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="5.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (51.07 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93641"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93641&amp;amp;k=54dbb77e00dd3e124c6f1446064362db&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93641" alt="6.JPG" width="389" /&gt;&lt;div class="t_attach" id="aimg_93641_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 3242px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93641&amp;amp;k=54dbb77e00dd3e124c6f1446064362db&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="6.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (43 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93642"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93642&amp;amp;k=51dc3d45c4a29e78b065bfdd794a3596&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93642" alt="7.JPG" width="403" /&gt;&lt;div class="t_attach" id="aimg_93642_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 3817px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93642&amp;amp;k=51dc3d45c4a29e78b065bfdd794a3596&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="7.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (44.52 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93643"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93643&amp;amp;k=4db97c4d65840db49fa873666a01f99c&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93643" alt="8.JPG" width="404" /&gt;&lt;div class="t_attach" id="aimg_93643_menu" style="position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 381px; top: 4395px; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93643&amp;amp;k=4db97c4d65840db49fa873666a01f99c&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="8.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (41.14 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93644"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93644&amp;amp;k=773f4e60394f0e1dbb6b3abd737ede05&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93644" alt="9.JPG" width="391" /&gt;&lt;div class="t_attach" id="aimg_93644_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93644&amp;amp;k=773f4e60394f0e1dbb6b3abd737ede05&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="9.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (22.06 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93645"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93645&amp;amp;k=393ce8d75d392b0b39ae6277bd1fbbf6&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93645" alt="10.JPG" width="407" /&gt;&lt;div class="t_attach" id="aimg_93645_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93645&amp;amp;k=393ce8d75d392b0b39ae6277bd1fbbf6&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="10.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (33 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93646"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93646&amp;amp;k=d019e787e1c8e024f744131d4bd80787&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93646" alt="11.JPG" width="388" /&gt;&lt;div class="t_attach" id="aimg_93646_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93646&amp;amp;k=d019e787e1c8e024f744131d4bd80787&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="11.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (34.1 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93647"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93647&amp;amp;k=e90a3c3d7c63ceee6ace58b2cee1aee0&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93647" alt="12.JPG" width="393" /&gt;&lt;div class="t_attach" id="aimg_93647_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93647&amp;amp;k=e90a3c3d7c63ceee6ace58b2cee1aee0&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="12.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (23.39 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93648"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93648&amp;amp;k=3ecc2588ff958d1ddd9a2bf2e3b75b8e&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93648" alt="13.JPG" width="386" /&gt;&lt;div class="t_attach" id="aimg_93648_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93648&amp;amp;k=3ecc2588ff958d1ddd9a2bf2e3b75b8e&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="13.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (25.66 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93649"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93649&amp;amp;k=584cc32f26ca17fcb34786d61e958367&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93649" alt="14.JPG" width="394" /&gt;&lt;div class="t_attach" id="aimg_93649_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93649&amp;amp;k=584cc32f26ca17fcb34786d61e958367&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="14.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (33.89 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93650"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93650&amp;amp;k=6248369055ff4067c0353b7e218a0a61&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93650" alt="15.JPG" width="396" /&gt;&lt;div class="t_attach" id="aimg_93650_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93650&amp;amp;k=6248369055ff4067c0353b7e218a0a61&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="15.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (31.2 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93651"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93651&amp;amp;k=7eed8f1336befda3ec642822da9625a1&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93651" alt="16.JPG" width="402" /&gt;&lt;div class="t_attach" id="aimg_93651_menu" style="position: absolute; display: none;"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93651&amp;amp;k=7eed8f1336befda3ec642822da9625a1&amp;amp;t=1299912727&amp;amp;nothumb=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" title="16.JPG" target="_blank"&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/a&gt; (36.15 KB)&lt;br /&gt;&lt;div class="t_smallfont"&gt;2009-11-30 14:50&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="position: absolute; display: none;" id="attach_93652"&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/images/default/attachimg.gif" border="0" /&gt;&lt;/span&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=93652&amp;amp;k=c9cdd17a11ca7d3def3f228f2f1ce894&amp;amp;t=1299912727&amp;amp;noupdate=yes&amp;amp;sid=d85ez7vzReaj8oxTzAEWph3XEvbuUnUd7YoEG4ALZsPbANo" id="aimg_93652" alt="17.JPG" width="385" /&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982252.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982252.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982226.html</id><title type="text">柱状专题图实现例子</title><summary type="text">柱状专题图实现例子原文：http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=7613//得到制作专题图的图层ID。。。。。。。。。。intlayerID=3; //得到专题图分析元素的属性名称列表String[]fieldName=new String[2];fieldName[0]="POP1990";fieldName[1]="POP1999";//得到专题图分析的图层对象（FeatureLayer）AGSLocalMapResource res = (AGSLocalMapResource) thi</summary><published>2011-03-12T06:39:00Z</published><updated>2011-03-12T06:39:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982226.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982226.html"/><content type="html">&lt;span style="font-size: 18pt; color: #ff0000;"&gt;&lt;span size="3"&gt;柱状专题图实现&lt;/span&gt;例子&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=7613"&gt;http://bbs.esrichina-bj.cn/esri/viewthread.php?tid=7613&lt;/a&gt;&lt;br /&gt;//得到制作专题图的图层ID&lt;br /&gt;&amp;nbsp;&amp;nbsp;。。。。。。。。。。&lt;br /&gt;&amp;nbsp;&amp;nbsp;int&amp;nbsp;&amp;nbsp;layerID=3;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;//得到专题图分析元素的属性名称列表&lt;br /&gt;String[]&amp;nbsp;&amp;nbsp;fieldName=new String[2];&lt;br /&gt;fieldName[0]="POP1990";&lt;br /&gt;fieldName[1]="POP1999";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//得到专题图分析的图层对象（FeatureLayer）&lt;br /&gt;AGSLocalMapResource res = (AGSLocalMapResource) this.webContext&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;.getResources().get("ags0");&lt;br /&gt;&amp;nbsp; &amp;nbsp;MapServer mapServer = res.getLocalMapServer();&lt;br /&gt;&amp;nbsp; &amp;nbsp; ILayer fiLayer = mapServer.getLayer(mapServer.getMapName(0),&amp;nbsp;&amp;nbsp;layerID);&lt;br /&gt;&amp;nbsp; &amp;nbsp;FeatureLayer fLayer = (FeatureLayer) fiLayer;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//创建ChartRenderer对象&amp;nbsp;&amp;nbsp;注意：在web adf中创建AO对象用AGSLocalMapResource对象的createArcObject（String）方法&lt;br /&gt;&amp;nbsp; &amp;nbsp;ChartRenderer chartRender = (ChartRenderer) res&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;.createArcObject(ChartRenderer.getClsid());&lt;br /&gt;&amp;nbsp; &lt;br /&gt;//在IRendererFileds中指定柱状图各列显示字段值&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;IRendererFields rendererFields = chartRender;&lt;br /&gt;&amp;nbsp; &amp;nbsp;rendererFields.addField(fieldName[0], null);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rendererFields.setFieldAlias(0, rendererFields.getField(0));&lt;br /&gt;&amp;nbsp; &amp;nbsp; rendererFields.addFieldfieldName[1], null);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rendererFields.setFieldAlias(1, rendererFields.getField(1));&lt;br /&gt;&lt;br /&gt;//查出各元素指定属性最大值&amp;nbsp;&amp;nbsp;必须的&lt;br /&gt;QueryFilter queryFilter = (QueryFilter) res&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;.createArcObject(QueryFilter.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;queryFilter.addField(fieldName[0]);&lt;br /&gt;&amp;nbsp; &amp;nbsp; queryFilter.addField(fieldName[1]);&lt;br /&gt;&amp;nbsp; &amp;nbsp;ICursor cursor = fLayer.ITable_search(queryFilter, true);&lt;br /&gt;&amp;nbsp; &amp;nbsp;int numFields = 2; //柱状图列的个数&lt;br /&gt;&amp;nbsp; &amp;nbsp;int[] fieldIndecies = new int[numFields];&lt;br /&gt;&amp;nbsp; &amp;nbsp;fieldIndecies[0] = fLayer.findField(fieldName[0]);&lt;br /&gt;&amp;nbsp; &amp;nbsp; fieldIndecies[1] = fLayer.findField(fieldName[1]);&lt;br /&gt;&amp;nbsp; &amp;nbsp;double maxValue = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;boolean firstValue = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp;IRowBuffer row = cursor.nextRow();&lt;br /&gt;&amp;nbsp; &amp;nbsp;while (row != null) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; String fieldvalue = "";&lt;br /&gt;&amp;nbsp; &amp;nbsp; for (int fieldIndex = 0; fieldIndex &amp;lt; numFields; fieldIndex++) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;double fieldValue = Double.parseDouble(row.getValue(&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; fieldIndecies[fieldIndex]).toString());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;if (firstValue) {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;maxValue = fieldValue;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;firstValue = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;if (fieldValue &amp;gt; maxValue)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;maxValue = fieldValue;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; row = cursor.nextRow();&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;//实例化图表对象&lt;br /&gt;&amp;nbsp;&amp;nbsp;BarChartSymbol barChartSymbol = (BarChartSymbol) res.createArcObject(BarChartSymbol.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;IChartSymbol chartSymbol = barChartSymbol;&lt;br /&gt;&amp;nbsp; &amp;nbsp;barChartSymbol.setWidth(10); &lt;br /&gt;&amp;nbsp;&amp;nbsp;IMarkerSymbol markerSymbol =&amp;nbsp;&amp;nbsp;barChartSymbol;&lt;br /&gt;&amp;nbsp; &amp;nbsp;chartSymbol.setMaxValue(maxValue);&lt;br /&gt;&amp;nbsp; &amp;nbsp;markerSymbol.setSize(60);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;//设置柱状图每列填充颜色及线颜色&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;ISymbolArray symbolArray = barChartSymbol; &lt;br /&gt;&amp;nbsp; &amp;nbsp;SimpleFillSymbol&amp;nbsp; &amp;nbsp;fillSymbol1 = (SimpleFillSymbol) res.createArcObject(SimpleFillSymbol.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;IRgbColor&amp;nbsp; &amp;nbsp;rgbColor1 = (RgbColor) res.createArcObject(RgbColor .getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor1.setRed(255); &lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor1.setGreen(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor1.setBlue(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor1.setUseWindowsDithering(true);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;ILineSymbol ilinesym1 = (ILineSymbol) res.createArcObject(SimpleLineSymbol.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;ilinesym1.setColor(rgbColor1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;ilinesym1.setWidth(1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;fillSymbol1.setOutline(ilinesym1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;fillSymbol1.setColor(rgbColor1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;barChartSymbol.addSymbol(fillSymbol1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;SimpleFillSymbol fillSymbol2 = (SimpleFillSymbol) res .createArcObject(SimpleFillSymbol.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;IRgbColor rgbColor2 = (RgbColor) res.createArcObject(RgbColor .getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor2.setRed(238); &lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor2.setGreen(195);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor2.setBlue(235);&lt;br /&gt;&amp;nbsp; &amp;nbsp;rgbColor2.setUseWindowsDithering(true);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;ILineSymbol ilinesym2 = (ILineSymbol) res.createArcObject(SimpleLineSymbol.getClsid());&lt;br /&gt;&amp;nbsp; &amp;nbsp;ilinesym2.setColor(rgbColor2); &lt;br /&gt;&amp;nbsp; &amp;nbsp;ilinesym2.setWidth(1);&lt;br /&gt;&amp;nbsp; &amp;nbsp;fillSymbol2.setOutline(ilinesym2);&lt;br /&gt;&amp;nbsp; &amp;nbsp;fillSymbol2.setColor(rgbColor2);&lt;br /&gt;&amp;nbsp; &amp;nbsp;barChartSymbol.addSymbol(fillSymbol2); &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; chartRender.setChartSymbolByRef(chartSymbol);&lt;br /&gt;&amp;nbsp; &amp;nbsp; chartRender.setUseOverposter(false);&lt;br /&gt;&amp;nbsp;&amp;nbsp;//设置FeatureRenderer ChartRenderer对象&lt;br /&gt;&amp;nbsp;&amp;nbsp;fLayer.setRendererByRef(chartRender);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;//刷新地图显示图表&lt;br /&gt;&amp;nbsp; &amp;nbsp;map1.refresh();&lt;br /&gt;&amp;nbsp; &amp;nbsp;this.webContext.refresh();&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982226.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982226.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982223.html</id><title type="text">控制图层是否显示的方法</title><summary type="text">控制图层是否显示的方法原文：http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22681&amp;pid=211013&amp;page=1&amp;extra=page%3D1#pid211013/// &lt;summary&gt; /// 控制图层是否显示 /// &lt;/summary&gt; /// &lt;param name="strLayerName"&gt;图层名&lt;/param&gt; /// &lt;param name="blChecked"&gt;是否显示图层&lt;/p</summary><published>2011-03-12T06:36:00Z</published><updated>2011-03-12T06:36:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982223.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982223.html"/><content type="html">&lt;span style="font-size: 18pt; color: #ff0000;"&gt;控制图层是否显示的方法&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22681&amp;amp;pid=211013&amp;amp;page=1&amp;amp;extra=page%3D1#pid211013"&gt;http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=22681&amp;amp;pid=211013&amp;amp;page=1&amp;amp;extra=page%3D1#pid211013&lt;/a&gt;&lt;br /&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; /// 控制图层是否显示&lt;br /&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;param name="strLayerName"&amp;gt;图层名&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;param name="blChecked"&amp;gt;是否显示图层&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; /// &amp;lt;param name="Map1"&amp;gt;Map控件&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; public void LayerCheck(String strLayerName, bool blChecked, Map Map1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;IMapFunctionality mf = Map1.GetFunctionality("NorthAmerica") as IMapFunctionality;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;IGISResource gisresource = mf.Resource;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;IQueryFunctionality qfunc = null;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;qfunc = (IQueryFunctionality)gisresource.CreateFunctionality(typeof(IQueryFunctionality), null);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;string[] lids;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;string[] lnames;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;// 获取所有图层的id和name&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;qfunc.GetQueryableLayers(null, out lids, out lnames);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;int layer_index = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;for (int i = 0; i &amp;lt; lnames.Length; i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;// 找到符合要求的图层编号&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if (lnames&lt;i&gt; == strLayerName)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; layer_index = i;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;if (strLayerName != string.Empty)&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;mf.SetLayerVisibility(layer_index.ToString(), blChecked);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;Map1.Refresh();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982223.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982223.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982220.html</id><title type="text">ArcGIS Server 开发初步 -- 自定义工具</title><summary type="text">ArcGIS Server 开发初步 -- 自定义工具原文：http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5590&amp;extra=page%3D1ArcGIS 9.2 Server Enterprise for Windows自定义工具在Server生成的Web App中，页面的工具按钮可以分为两类：l命令（Command）：A command is an element on a JSP page that triggers a server side action without any further interaction </summary><published>2011-03-12T06:34:00Z</published><updated>2011-03-12T06:34:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982220.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982220.html"/><content type="html">&lt;p&gt;&lt;strong&gt;ArcGIS Server 开发初步 -- 自定义工具&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5590&amp;amp;extra=page%3D1"&gt;http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5590&amp;amp;extra=page%3D1&lt;/a&gt;&lt;/p&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-size: 14pt;"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;ArcGIS 9.2 Server Enterprise for Windows&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 14pt;"&gt;自定义工具&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;在&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Server&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;生成的&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Web App&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中，页面的工具按钮可以分为两类：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;命令（&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;Command&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;）：&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;A command is an element on a JSP page that triggers a server side action without any further interaction on the client. An example of a command in the sample application is the "zoom to full extent" button. Once the user clicks the button, a method is called on the server&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;。不与用户通过界面交互。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;工具（&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;Tool&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;）：&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;A tool has further client side interaction before calling a method on the server. An example of a tool in this application is "zoom to rectangle". Once the user clicks the button, drags a rectangle over the map indicating the area they want to zoom to, and then a method is called on the server&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;。与用户通过界面交互。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;自定义工具&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;一、继承接口&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;public &lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;Interface&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #000000;" color="#000000"&gt; com.esri.adf.web.faces.event.&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;MapToolAction{&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-size: small;" size="3"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;void execute(MapEvent event);&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;}&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;MapToolAction &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;接口代表由&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;MapControl&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;控件事件所激活的服务器端工具，系统已预设继承此接口的类：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: blue;" color="blue"&gt;PanToolAction&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;（&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;" color="black"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;平移&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;）&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: blue;" color="blue"&gt;ZoomInToolAction&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;（&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;" color="black"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;放大&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;）&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: blue;" color="blue"&gt;ZoomOutToolAction&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;（&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;" color="black"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;缩小&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;MapControl&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;创建&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;MapEvent &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;事件并将其传给继承接口的工具类的&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt; execute(MapEvent) &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;函数，&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;The business logic for the tool should be implemented in this method according to the event&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;二、工具在JSP页面上的tag表达如下：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blockcode"&gt;&lt;div id="code0"&gt;&lt;ol&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;li&gt;&amp;lt;ags:tool &lt;/li&gt;&lt;li&gt;serverAction="com.esri.adf.web.faces.event.ZoomInToolAction"&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;clientAction="EsriMapRectangle" &lt;/li&gt;&lt;li&gt;clientPostBack="true"&lt;/li&gt;&lt;li&gt;/&amp;gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;三、注册managed-bean&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;将所写的类作为一个&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;managed-bean&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;注册到&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;faces-config.xml&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;，并用&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;WebContext&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="color: #000000;" color="#000000"&gt;实例作为其初始化参数：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blockcode"&gt;&lt;div id="code1"&gt;&lt;ol&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;li&gt;&amp;lt;managed-bean&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;managed-bean-name&amp;gt;ToolClass&amp;lt;/managed-bean-name&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;managed-bean-class&amp;gt;com.brsc.MyToolClass&amp;lt;/managed-bean-class&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;managed-bean-scope&amp;gt;request&amp;lt;/managed-bean-scope&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;managed-property&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property-name&amp;gt;webContext&amp;lt;/property-name&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;value&amp;gt;#{mapContext}&amp;lt;/value&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;/managed-property&amp;gt;&lt;/li&gt;&lt;li&gt;&amp;lt;/managed-bean&amp;gt;&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="color: #000000;" color="#000000"&gt;四、注释：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-size: small;" size="3"&gt;1．&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;JSP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Tag&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;serverAction&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;写入继承&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;MapToolAction&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;接口的类（全称），代表对于此工具服务器端要进行的操作&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;[ &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style="color: blue;" color="blue"&gt;execute(MapEvent event)&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="color: #000000;" color="#000000"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;用户也可以使用任何&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Managed Bean&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的函数作为工具对应的方法，只要这个函数使用如下声明：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;public void anyMethodName(MapEvent event)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;JSP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="color: #000000;" color="#000000"&gt;标签使用&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;serverMethod &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="color: #000000;" color="#000000"&gt;，如下：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&amp;lt;ags:tool &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;serverMethod&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="color: #000000;" color="#000000"&gt;="#{bean.anyMethodName}" ... /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;这样，&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;MapControl&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;也会将适当的&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;MapEvent &lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;事件传入此函数。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-size: small;" size="3"&gt;2．&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;JSP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Tag&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;clientAction&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="color: #000000;" color="#000000"&gt;写入客户端鼠标选择的方式：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blockcode"&gt;&lt;div id="code2"&gt;&lt;ol&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;li&gt;EsriMapPoint&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; 点选&lt;/li&gt;&lt;li&gt;EsriMapLine&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;线&lt;/li&gt;&lt;li&gt;EsriMapRectangle&amp;nbsp; &amp;nbsp; 四边形&lt;/li&gt;&lt;li&gt;EsriMapCircle&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;圆&lt;/li&gt;&lt;li&gt;EsriMapOval&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;椭圆&lt;/li&gt;&lt;li&gt;EsriMapPolyline&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;多线&lt;/li&gt;&lt;li&gt;EsriMapPolygon&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;多边形&lt;/li&gt;&lt;li&gt;EsriMapPan&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;移动 &lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;对应Server端的几何形状（附图）&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;3．&amp;nbsp;&amp;nbsp;MapEvent&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;代表客户端进行操作产生的事件，一般会用到&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;MapEvent&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;public WebGeometry&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt; getWebGeometry()&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;函数来得到客户端输入的几何形状&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;//Returns the &lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;WebGeometry&lt;/span&gt;&lt;/strong&gt; in &lt;strong&gt;&lt;span style="color: red;" color="red"&gt;screen coordinates&lt;/span&gt;&lt;/strong&gt; corresponding to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;//the client action performed by the user. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;来获得客户端产生的形状，这些&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Geomentry&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;一般都是&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;screen&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;坐标&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;，需要用&lt;/span&gt;toMapGeometry(WebMap)&lt;span style="font-family: 宋体;" face="宋体 "&gt;转换为&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt; &lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;地图坐标&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;一般操作如下：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blockcode"&gt;&lt;div id="code3"&gt;&lt;ol&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;li&gt;public void myToolMethod(MapEvent event) {&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;WebContext ctx = event.getWebContext();&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;WebGeometry screenGeom = event.getWebGeometry();&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;WebGeometry mapGeom = screen.toMapGeometry(ctx.getWebMap());&lt;/li&gt;&lt;li&gt;&amp;nbsp; &amp;nbsp;...&lt;/li&gt;&lt;li&gt;}&lt;/li&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;em&gt;复制代码&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #000000;" color="#000000"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span size="10"&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;4．&amp;nbsp;&amp;nbsp;JSP&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&lt;/span&gt;&lt;span style="font-family: Times New Roman;" face="Times New Roman "&gt;Tag&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中&lt;/span&gt;&lt;strong&gt;&lt;span style="color: blue;" color="blue"&gt;clientPostBack&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: black;" color="black"&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt; &lt;/span&gt;&lt;/strong&gt;设置为false，刷新地图，并且刷新页面；&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;" color="blue"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: black;" color="black"&gt;&lt;strong&gt;&amp;nbsp; &amp;nbsp;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;&lt;span style="font-size: small;" size="3"&gt;l&lt;/span&gt; &lt;/span&gt;&lt;/strong&gt;设置为true，只刷新地图，不刷新页面；&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="postattachlist"&gt;&lt;dl class="t_attachlist attachimg"&gt;&lt;dd&gt;&lt;p&gt;对应Server端的几何形状&lt;/p&gt;&lt;p&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=1520&amp;amp;k=424bdc036191bc26e3889b0cf2065043&amp;amp;t=1299910892&amp;amp;fid=25&amp;amp;noupdate=yes&amp;amp;sid=500aUI0bqXi0tmxNyVwWTgZj4V2I6oV%2BcP8EXluOPz8By3U" id="aimg_1520" alt="futu.JPG" width="481" /&gt;&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982220.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982220.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982217.html</id><title type="text">ArcGIS Server 9.2 实现基于web浏览器的在线编辑</title><summary type="text">ArcGIS Server 9.2 实现基于web浏览器的在线编辑原文：http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5612&amp;extra=page%3D1数据准备Server 9.2开始支持基于web浏览器的数据在线编辑，要实现这样的功能，对数据有特殊的要求，先来看一下文档是怎么描述的：Geodata AccessAllows an end user to perform replication and data extraction inAcrMapMap document with a layer from a geodat</summary><published>2011-03-12T06:33:00Z</published><updated>2011-03-12T06:33:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982217.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982217.html"/><content type="html">&lt;p&gt;&lt;span style="color: #ff0000; font-size: 18pt;"&gt;&lt;strong&gt;ArcGIS Server 9.2 实现基于web浏览器的在线编辑&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5612&amp;amp;extra=page%3D1"&gt;http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=5612&amp;amp;extra=page%3D1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-family: 黑体;" face="黑体 "&gt;数据准备&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;Server 9.2&lt;span style="font-family: 宋体;" face="宋体 "&gt;开始支持基于&lt;/span&gt;web&lt;span style="font-family: 宋体;" face="宋体 "&gt;浏览器的数据在线编辑，要实现这样的功能，对数据有特殊的要求，先来看一下文档是怎么描述的：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table class="t_table" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="115"&gt;&amp;nbsp;&amp;nbsp;Geodata Access&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;Allows an end user to perform replication and data extraction in&amp;nbsp;&amp;nbsp;AcrMap&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td width="213"&gt;&amp;nbsp;&amp;nbsp;Map document with a layer from a geodatabase&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;具体操作可以参考下面的步骤：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;1&lt;span style="font-family: 宋体;" face="宋体 "&gt;、将需要在线编辑的数据通过&lt;/span&gt;SDE&lt;span style="font-family: 宋体;" face="宋体 "&gt;导入到数据库；&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;2&lt;span style="font-family: 宋体;" face="宋体 "&gt;、将该数据注册为版本&lt;/span&gt;(Register As Versioned&amp;hellip;)&lt;span style="font-family: 宋体;" face="宋体 "&gt;；&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;3&lt;span style="font-family: 宋体;" face="宋体 "&gt;、在&lt;/span&gt;ArcMap&lt;span style="font-family: 宋体;" face="宋体 "&gt;中加载这个数据&lt;/span&gt;(Layer from a geodatabase)&lt;span style="font-family: 宋体;" face="宋体 "&gt;；&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;4&lt;span style="font-family: 宋体;" face="宋体 "&gt;、如果有其他的数据也添加到&lt;/span&gt;ArcMap&lt;span style="font-family: 宋体;" face="宋体 "&gt;中，保存成一个&lt;/span&gt;mxd&lt;span style="font-family: 宋体;" face="宋体 "&gt;文档；&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;数据准备就完成了！&lt;/span&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-family: 黑体;" face="黑体 "&gt;发布服务&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;在&lt;/span&gt;Manager-&amp;gt;Services&lt;span style="font-family: 宋体;" face="宋体 "&gt;中选择&amp;ldquo;&lt;/span&gt;Publish GIS Resource&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;，选择发布刚才保存&lt;/span&gt;mxd&lt;span style="font-family: 宋体;" face="宋体 "&gt;文档。可以看到，在&lt;/span&gt;Capabilities&lt;span style="font-family: 宋体;" face="宋体 "&gt;中&amp;ldquo;&lt;/span&gt;GeoData Access&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;被自动勾选了。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;发布完成以后，&lt;/span&gt;Manager&lt;span style="font-family: 宋体;" face="宋体 "&gt;会自动创建两个同名的服务：一个是&lt;/span&gt;Map Service&lt;span style="font-family: 宋体;" face="宋体 "&gt;，另一个是&lt;/span&gt;Geodata Service&lt;span style="font-family: 宋体;" face="宋体 "&gt;。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;注意，这里需要检查一下这两个服务的&lt;/span&gt;Pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;参数，一般默认发布服务的时候都选&lt;/span&gt;Pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;，因为这样有利于提高访问效率（就像&lt;/span&gt;JDBC&lt;span style="font-family: 宋体;" face="宋体 "&gt;的数据库连接池）。但是基于&lt;/span&gt;web&lt;span style="font-family: 宋体;" face="宋体 "&gt;的在线编辑不能用&lt;/span&gt;pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;。因为&lt;/span&gt;pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;的原理就是在服务器程序启动的时候先创建好&lt;/span&gt;n&lt;span style="font-family: 宋体;" face="宋体 "&gt;个完全相同的实例，客户端访问的时候直接从池中获取实例，用完以后再释放到池中以供其他用户使用。所以池化的实例只适用于进行只读的操作，或者对实例进行一些属性进行临时的修改，释放的时候调用&lt;/span&gt;reset&lt;span style="font-family: 宋体;" face="宋体 "&gt;方法。但是在线编辑修改的是&lt;/span&gt;SDE&lt;span style="font-family: 宋体;" face="宋体 "&gt;中的底层数据，这样的话就不能确保第一次创建的&lt;/span&gt;pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;实例（&lt;/span&gt;SOC&lt;span style="font-family: 宋体;" face="宋体 "&gt;中的&lt;/span&gt;map service&lt;span style="font-family: 宋体;" face="宋体 "&gt;实例）跟第二次创建的&lt;/span&gt;pooled&lt;span style="font-family: 宋体;" face="宋体 "&gt;实例是完全相同的。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;第一次发布的时候没有修改&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;pooled&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;参数，导致在&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;Web&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;应用中点击&amp;ldquo;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;Editingtask&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;没有任何反应，也不报错误。后来把程序导入到&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;Eclipse&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中编译运行在&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;Console&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;中看到如下的错误信息才想起上面的道理：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;nbsp; &amp;nbsp; 严重&lt;/span&gt;&lt;span style="color: red;" color="red"&gt;: At least oneAGSLocalMapResource with NotPooled Service is required to display Editing task.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="color: red;" color="red"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;2006-12-2714:45:59 com.esri.adf.web.ags.tasks.EditingTask a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;nbsp; &amp;nbsp; 严重&lt;/span&gt;&lt;/span&gt;&lt;span style="color: red;" color="red"&gt;&lt;span style="font-size: small;" size="3"&gt;: Error while attempting tostart editing &lt;span style="text-decoration: underline;"&gt;com.esri.adf.web.ADFException&lt;/span&gt;: No layer available.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-family: 黑体;" face="黑体 "&gt;创建&lt;/span&gt;Web&lt;span style="font-family: 黑体;" face="黑体 "&gt;应用&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;在&lt;/span&gt;Manager&lt;span style="font-family: 宋体;" face="宋体 "&gt;中创建&lt;/span&gt;web&lt;span style="font-family: 宋体;" face="宋体 "&gt;应用有向导可以使用，步骤基本模板化。需要注意的有以下几个地方：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;1&lt;span style="font-family: 宋体;" face="宋体 "&gt;、在&lt;/span&gt;layers&lt;span style="font-family: 宋体;" face="宋体 "&gt;对话框中，选择添加刚才我们发布的&lt;/span&gt;Map service&lt;span style="font-family: 宋体;" face="宋体 "&gt;。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;2&lt;span style="font-family: 宋体;" face="宋体 "&gt;、在&lt;/span&gt;tasks&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&amp;ldquo;&lt;/span&gt;Select Tasks&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;标前页中，添加&lt;/span&gt;Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;任务，至于其他的任务视需要自行添加。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;3&lt;span style="font-family: 宋体;" face="宋体 "&gt;、在&lt;/span&gt;tasks&lt;span style="font-family: 宋体;" face="宋体 "&gt;的&amp;ldquo;&lt;/span&gt;Supporting Resources&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;标前页中，选择同名的那个&lt;/span&gt;service&lt;span style="font-family: 宋体;" face="宋体 "&gt;。可以留意一下，这个界面的&lt;/span&gt;service&lt;span style="font-family: 宋体;" face="宋体 "&gt;比步骤&lt;/span&gt;1&lt;span style="font-family: 宋体;" face="宋体 "&gt;中的&lt;/span&gt;service&lt;span style="font-family: 宋体;" face="宋体 "&gt;少，而且有好些是同名的。&lt;/span&gt;why&lt;span style="font-family: 宋体;" face="宋体 "&gt;？就是因为有些&lt;/span&gt;mxd&lt;span style="font-family: 宋体;" face="宋体 "&gt;文档中带有一些特殊图层，比如&lt;/span&gt;geoprocess&lt;span style="font-family: 宋体;" face="宋体 "&gt;、&lt;/span&gt;network&lt;span style="font-family: 宋体;" face="宋体 "&gt;，还有这个例子中的&lt;/span&gt;geodata access&lt;span style="font-family: 宋体;" face="宋体 "&gt;，这样的地图发布以后就会创建若干个同名的服务来支持&lt;/span&gt;map&lt;span style="font-family: 宋体;" face="宋体 "&gt;中的特殊图层。&lt;span style="color: blue;" color="blue"&gt;只是这里的图标很有迷惑性，大部分是&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;" color="blue"&gt;map service&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;的图标。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;4&lt;span style="font-family: 宋体;" face="宋体 "&gt;、接下来就是关键的一步，配置&lt;/span&gt;Editing task&lt;span style="font-family: 宋体;" face="宋体 "&gt;了：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;首先是选择要编辑的数据，这里我只发布了一个&lt;/span&gt;sde&lt;span style="font-family: 宋体;" face="宋体 "&gt;图层，所以没得选（下拉框只有一个内容）；我们可以选的是编辑的数据版本，当时为了测试创建了&lt;/span&gt;5&lt;span style="font-family: 宋体;" face="宋体 "&gt;个版本，这里就选择成序列的&lt;/span&gt;version1&lt;span style="font-family: 宋体;" face="宋体 "&gt;～&lt;/span&gt;3&lt;span style="font-family: 宋体;" face="宋体 "&gt;。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;第二步是选择在客户端可以执行的操作种类以及与操作相关的一些选项，都是一些顾名思义的东西，不多说了。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;最后一步是设置冲突处理原则，这里就按照默认设置&amp;ldquo;&lt;/span&gt;Parent Win&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;和&amp;ldquo;&lt;/span&gt;Row Level&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;需要注意的就是以上几点，其他的步骤跟发布普通&lt;/span&gt;map&lt;span style="font-family: 宋体;" face="宋体 "&gt;应用都差不多。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-family: 黑体;" face="黑体 "&gt;实例的使用&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;创建完成以后，把这个应用部署到服务器上，就可以开始测试了。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;点击任务中的&amp;ldquo;&lt;/span&gt;Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;，弹出对话框，从中我们可以选择要编辑的数据的版本，刚才选中的&lt;/span&gt;Version 1~3&lt;span style="font-family: 宋体;" face="宋体 "&gt;系列就出来了，选中一个版本（比如&lt;/span&gt;version 1&lt;span style="font-family: 宋体;" face="宋体 "&gt;）以后，点击&amp;ldquo;&lt;/span&gt;Start Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;提交。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;提交以后，地图刷新，将&lt;/span&gt;version 1&lt;span style="font-family: 宋体;" face="宋体 "&gt;的地图从&lt;/span&gt;SDE&lt;span style="font-family: 宋体;" face="宋体 "&gt;中读取出来，&lt;/span&gt;Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;对话框也相应地改变。刚才的图中左上角可是没有五角星的哦&lt;/span&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;J&lt;/span&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;另外还可以看一下&lt;/span&gt;Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;对话框下面的提示&amp;ldquo;&lt;/span&gt;Started Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;，说明编辑已经成功地启动了。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;接下来我们来创建一个新的要素吧，选择&amp;ldquo;&lt;/span&gt;Create Streets layer from sde&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;下的工具，在五角星的旁边画一个三角形，画完以后&amp;ldquo;&lt;/span&gt;Editing&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;工具条又发生变化了，其他的大家可以自己去试，工具条的最下面是属性表，我们可以给这个新画的三角形设置它的属性，随便输几个吧，记住&amp;ldquo;&lt;/span&gt;FULL_NAME=&lt;span style="font-family: 宋体;" face="宋体 "&gt;我创建的三角形&amp;rdquo;，这个就是它的标签啦。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;创建完成以后点&amp;ldquo;&lt;/span&gt;Save Edit(s)&lt;span style="font-family: 宋体;" face="宋体 "&gt;&amp;rdquo;工具，将编辑结果提交给&lt;/span&gt;SDE&lt;span style="font-family: 宋体;" face="宋体 "&gt;。接下来我们打开&lt;/span&gt;ArcMap&lt;span style="font-family: 宋体;" face="宋体 "&gt;看看吧，从&lt;/span&gt;ArcCatalog&lt;span style="font-family: 宋体;" face="宋体 "&gt;里把数据拖到&lt;/span&gt;ArcMap&lt;span style="font-family: 宋体;" face="宋体 "&gt;里，版本切换到&lt;/span&gt;Version 1&lt;span style="font-family: 宋体;" face="宋体 "&gt;：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;呵呵，看到了刚才创建的三角形，上面还打着我的戳呢&lt;/span&gt;&lt;span style="font-family: Wingdings;" face="Wingdings "&gt;J&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-size: medium;" size="4"&gt;&lt;span style="font-family: 黑体;" face="黑体 "&gt;&lt;strong&gt;概括&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;基于&lt;/span&gt;Web&lt;span style="font-family: 宋体;" face="宋体 "&gt;浏览器的编辑是&lt;/span&gt;ServerAdvanced&lt;span style="font-family: 宋体;" face="宋体 "&gt;版本才有的功能，由于编辑的时候需要选择版本，而版本支持是&lt;/span&gt;SDE&lt;span style="font-family: 宋体;" face="宋体 "&gt;才有的功能，我还测试过&lt;/span&gt;filegeodatabase&lt;span style="font-family: 宋体;" face="宋体 "&gt;，结果可以参考前面的批注。不过，用户既然买了&lt;/span&gt;server&lt;span style="font-family: 宋体;" face="宋体 "&gt;，当然也就有了&lt;/span&gt;sde&lt;span style="font-family: 宋体;" face="宋体 "&gt;啦。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;" size="3"&gt;&lt;span style="font-family: 宋体;" face="宋体 "&gt;上面的例子自己不用添加任何代码，只要在几个关键的地方不出差错，程序就能出来了，如果觉得不过瘾，咱们可以把它导入到&lt;/span&gt;Eclipse&lt;span style="font-family: 宋体;" face="宋体 "&gt;下面进行再加工&amp;hellip;&amp;hellip;&lt;/span&gt;&lt;/span&gt;&lt;div class="postattachlist"&gt;&lt;dl class="t_attachlist attachimg"&gt;&lt;dt&gt;&lt;br /&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p class="imgtitle"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=1553&amp;amp;k=52a561bbfbe5497a544db5d4e3bf0e83&amp;amp;t=1299910776&amp;amp;fid=25&amp;amp;nothumb=yes&amp;amp;sid=bd81wyw7f5Lh8H6W0IrNyhbA%2BdNM3XuYbvn8hVN%2Bsb9WBts" id="aid1553" class="bold" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="attach_popup" id="aid1553_menu" style="display: none;"&gt;&lt;div class="cornerlayger"&gt;&lt;p&gt;下载次数:30&lt;/p&gt;&lt;p&gt;2007-1-31 16:15&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;浏览器中编辑&lt;/p&gt;&lt;p&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=1553&amp;amp;k=52a561bbfbe5497a544db5d4e3bf0e83&amp;amp;t=1299910776&amp;amp;fid=25&amp;amp;noupdate=yes&amp;amp;sid=bd81wyw7f5Lh8H6W0IrNyhbA%2BdNM3XuYbvn8hVN%2Bsb9WBts" id="aimg_1553" alt="51.JPG" width="582" /&gt;&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;dl class="t_attachlist attachimg"&gt;&lt;dt&gt;&lt;br /&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p class="imgtitle"&gt;&lt;a href="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=1554&amp;amp;k=c6fa1d5c865426318559780cd5422b56&amp;amp;t=1299910776&amp;amp;fid=25&amp;amp;nothumb=yes&amp;amp;sid=bd81wyw7f5Lh8H6W0IrNyhbA%2BdNM3XuYbvn8hVN%2Bsb9WBts" id="aid1554" class="bold" target="_blank"&gt;&lt;br /&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="attach_popup" id="aid1554_menu" style="display: none;"&gt;&lt;div class="cornerlayger"&gt;&lt;p&gt;下载次数:27&lt;/p&gt;&lt;p&gt;2007-1-31 16:15&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;ArcMap查看编辑结果&lt;/p&gt;&lt;p&gt;&lt;img src="http://bbs.esrichina-bj.cn/ESRI/attachment.php?aid=1554&amp;amp;k=c6fa1d5c865426318559780cd5422b56&amp;amp;t=1299910776&amp;amp;fid=25&amp;amp;noupdate=yes&amp;amp;sid=bd81wyw7f5Lh8H6W0IrNyhbA%2BdNM3XuYbvn8hVN%2Bsb9WBts" id="aimg_1554" alt="52.JPG" width="600" /&gt;&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;dl class="newrate"&gt;&lt;dt&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1982217.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/12/1982217.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/03/03/1969956.html</id><title type="text">VB的Winsock控件GetData方法获取汉字乱码解决方法</title><summary type="text">C#发送的socket消息带汉字时，使用Byte类型发送。VB接收时，使用如下代码：Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim bb(1 To bytesTotal) As Byte Dim DD As String Winsock1.GetData bb() DD = StrConv(bb(), vbFromUnicode)End Sub</summary><published>2011-03-03T07:15:00Z</published><updated>2011-03-03T07:15:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/03/03/1969956.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/03/03/1969956.html"/><content type="html">&lt;p&gt;C#发送的socket消息带汉字时，使用Byte类型发送。&lt;/p&gt;&lt;p&gt;VB接收时，使用如下代码：&lt;/p&gt;Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)&lt;br /&gt;    Dim bb(1 To bytesTotal) As Byte&lt;br /&gt;    Dim DD As String&lt;br /&gt;    Winsock1.GetData bb()&lt;br /&gt;    DD = StrConv(bb(), vbFromUnicode)&lt;br /&gt;End Sub&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1969956.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/03/03/1969956.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964019.html</id><title type="text">汉字转拼音缩写（VB版）</title><summary type="text">VB代码：'------------------------'汉字转拼音缩写'------------------------Public Function GetPYSX(Str As String) As StringOn Error GoTo PROC_ERROR Dim i As Long For i = 0 To Len(Str) - 1 GetPYSX = GetPYSX &amp; GetPYSXChar(Mid(Str, i + 1, 1)) Next PROC_ERROR: Exit FunctionEnd FunctionPublic Functio</summary><published>2011-02-24T09:11:00Z</published><updated>2011-02-24T09:11:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964019.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964019.html"/><content type="html">&lt;p&gt;VB代码：&lt;/p&gt;&lt;p&gt;'------------------------&lt;br /&gt;'汉字转拼音缩写&lt;br /&gt;'------------------------&lt;br /&gt;Public Function GetPYSX(Str As String) As String&lt;br /&gt;On Error GoTo PROC_ERROR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Long&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 0 To Len(Str) - 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSX = GetPYSX &amp;amp; GetPYSXChar(Mid(Str, i + 1, 1))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;PROC_ERROR:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Function&lt;br /&gt;End Function&lt;br /&gt;Public Function GetPYSXChar(char As String) As String&lt;br /&gt;On Error GoTo PROC_ERROR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lChar As Long&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lChar = 65536 + Asc(char)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (lChar &amp;gt;= 45217 And lChar &amp;lt;= 45252) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "A"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 45253 And lChar &amp;lt;= 45760) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "B"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 45761 And lChar &amp;lt;= 46317) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "C"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 46318 And lChar &amp;lt;= 46825) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "D"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 46826 And lChar &amp;lt;= 47009) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "E"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 47010 And lChar &amp;lt;= 47296) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "F"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 47297 And lChar &amp;lt;= 47613) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "G"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 47614 And lChar &amp;lt;= 48118) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "H"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 48119 And lChar &amp;lt;= 49061) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "J"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 49062 And lChar &amp;lt;= 49323) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "K"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 49324 And lChar &amp;lt;= 49895) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "L"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 49896 And lChar &amp;lt;= 50370) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "M"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 50371 And lChar &amp;lt;= 50613) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "N"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 50614 And lChar &amp;lt;= 50621) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "O"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 50622 And lChar &amp;lt;= 50905) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "P"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 50906 And lChar &amp;lt;= 51386) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "Q"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 51387 And lChar &amp;lt;= 51445) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "R"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 51446 And lChar &amp;lt;= 52217) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "S"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 52218 And lChar &amp;lt;= 52697) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "T"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 52698 And lChar &amp;lt;= 52979) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "W"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 52980 And lChar &amp;lt;= 53640) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "X"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 53641 And lChar &amp;lt;= 54480) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "Y"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf (lChar &amp;gt;= 54481 And lChar &amp;lt;= 62289) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetPYSXChar = "Z"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;&lt;p&gt;PROC_ERROR:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Function&lt;br /&gt;End Function&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1964019.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964019.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964020.html</id><title type="text">汉字转拼音缩写（C#版）</title><summary type="text">C#代码：/// &lt;summary&gt; /// 汉字转拼音缩写 /// Code By MuseStudio@hotmail.com /// 2004-11-30 /// &lt;/summary&gt; /// &lt;param name="str"&gt;要转换的汉字字符串&lt;/param&gt; /// &lt;returns&gt;拼音缩写&lt;/returns&gt; public string GetPYString(string str) { string tempStr = ""; foreach(char c in s</summary><published>2011-02-24T09:11:00Z</published><updated>2011-02-24T09:11:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964020.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964020.html"/><content type="html">&lt;p&gt;C#代码：&lt;/p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 汉字转拼音缩写&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Code By &lt;a href="mailto:MuseStudio@hotmail.com"&gt;MuseStudio@hotmail.com&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 2004-11-30&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="str"&amp;gt;要转换的汉字字符串&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;拼音缩写&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string GetPYString(string str)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string tempStr = "";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(char c in str)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((int)c &amp;gt;= 33 &amp;amp;&amp;amp; (int)c &amp;lt;=126)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {//字母和符号原样保留&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempStr += c.ToString();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {//累加拼音声母&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tempStr += GetPYChar(c.ToString());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return tempStr;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 取单个字符的拼音声母&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Code By &lt;a href="mailto:MuseStudio@hotmail.com"&gt;MuseStudio@hotmail.com&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 2004-11-30&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="c"&amp;gt;要转换的单个汉字&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;拼音声母&amp;lt;/returns&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string GetPYChar(string c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] array = new byte[2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array = System.Text.Encoding.Default.GetBytes(c);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0'));&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB0A1) return "*";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB0C5) return "a";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB2C1) return "b";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB4EE) return "c";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB6EA) return "d";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB7A2) return "e";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB8C1) return "f";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xB9FE) return "g";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xBBF7) return "h";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xBFA6) return "j";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC0AC) return "k";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC2E8) return "l";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC4C3) return "m";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC5B6) return "n";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC5BE) return "o";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC6DA) return "p";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC8BB) return "q";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xC8F6) return "r";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xCBFA) return "s";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xCDDA) return "t";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xCEF4) return "w";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xD1B9) return "x";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xD4D1) return "y";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i &amp;lt; 0xD7FA) return "z";&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return "*";&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://blog.csdn.net/muse2008/archive/2004/11/30/199604.aspx"&gt;http://blog.csdn.net/muse2008/archive/2004/11/30/199604.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1964020.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964020.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964016.html</id><title type="text">汉字转拼音（C#版）</title><summary type="text">C#代码：using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;using System.Web;namespace CrazyCoder.Common{/// &lt;summary&gt; /// 汉字转拼音类 /// by http://www.crazycoder.cn /// build Date 20030610 /// &lt;/summary&gt; public class CrazyCoderPinyin { /// &lt;s</summary><published>2011-02-24T09:09:00Z</published><updated>2011-02-24T09:09:00Z</updated><author><name>lauer</name><uri>http://www.cnblogs.com/lauer0246/</uri></author><link rel="alternate" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964016.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964016.html"/><content type="html">&lt;p&gt;C#代码：&lt;/p&gt;&lt;p&gt;using System;&lt;/p&gt;&lt;p&gt;using System.Collections.Generic;&lt;/p&gt;&lt;p&gt;using System.Text;&lt;/p&gt;&lt;p&gt;using System.Text.RegularExpressions;&lt;/p&gt;&lt;p&gt;using System.Web;&lt;/p&gt;&lt;p&gt;namespace CrazyCoder.Common&lt;/p&gt;&lt;p&gt;{&lt;/p&gt;&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 汉字转拼音类&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// by http://www.crazycoder.cn&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// build Date 20030610&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class CrazyCoderPinyin&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 定义拼音区编码数组&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static int[] pyValue = new int[]&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -20032,-20026,-20002,-19990,-19986,-19982,-19976,-19805,-19784,-19775,-19774,-19763,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -19756,-19751,-19746,-19741,-19739,-19728,-19725,-19715,-19540,-19531,-19525,-19515,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -19500,-19484,-19479,-19467,-19289,-19288,-19281,-19275,-19270,-19263,-19261,-19249,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -19243,-19242,-19238,-19235,-19227,-19224,-19218,-19212,-19038,-19023,-19018,-19006,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -19003,-18996,-18977,-18961,-18952,-18783,-18774,-18773,-18763,-18756,-18741,-18735,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -18731,-18722,-18710,-18697,-18696,-18526,-18518,-18501,-18490,-18478,-18463,-18448,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -18447,-18446,-18239,-18237,-18231,-18220,-18211,-18201,-18184,-18183, -18181,-18012,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -17997,-17988,-17970,-17964,-17961,-17950,-17947,-17931,-17928,-17922,-17759,-17752,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -17733,-17730,-17721,-17703,-17701,-17697,-17692,-17683,-17676,-17496,-17487,-17482,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -17468,-17454,-17433,-17427,-17417,-17202,-17185,-16983,-16970,-16942,-16915,-16733,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -16708,-16706,-16689,-16664,-16657,-16647,-16474,-16470,-16465,-16459,-16452,-16448,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -16433,-16429,-16427,-16423,-16419,-16412,-16407,-16403,-16401,-16393,-16220,-16216,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -16212,-16205,-16202,-16187,-16180,-16171,-16169,-16158,-16155,-15959,-15958,-15944,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -15933,-15920,-15915,-15903,-15889,-15878,-15707,-15701,-15681,-15667,-15661,-15659,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -15652,-15640,-15631,-15625,-15454,-15448,-15436,-15435,-15419,-15416,-15408,-15394,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -15385,-15377,-15375,-15369,-15363,-15362,-15183,-15180,-15165,-15158,-15153,-15150,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -15149,-15144,-15143,-15141,-15140,-15139,-15128,-15121,-15119,-15117,-15110,-15109,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -14941,-14937,-14933,-14930,-14929,-14928,-14926,-14922,-14921,-14914,-14908,-14902,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -14894,-14889,-14882,-14873,-14871,-14857,-14678,-14674,-14670,-14668,-14663,-14654,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -14645,-14630,-14594,-14429,-14407,-14399,-14384,-14379,-14368,-14355,-14353,-14345,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -14170,-14159,-14151,-14149,-14145,-14140,-14137,-14135,-14125,-14123,-14122,-14112,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -14109,-14099,-14097,-14094,-14092,-14090,-14087,-14083,-13917,-13914,-13910,-13907,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -13906,-13905,-13896,-13894,-13878,-13870,-13859,-13847,-13831,-13658,-13611,-13601,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -13406,-13404,-13400,-13398,-13395,-13391,-13387,-13383,-13367,-13359,-13356,-13343,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -13340,-13329,-13326,-13318,-13147,-13138,-13120,-13107,-13096,-13095,-13091,-13076,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -13068,-13063,-13060,-12888,-12875,-12871,-12860,-12858,-12852,-12849,-12838,-12831,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -12829,-12812,-12802,-12607,-12597,-12594,-12585,-12556,-12359,-12346,-12320,-12300,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -12120,-12099,-12089,-12074,-12067,-12058,-12039,-11867,-11861,-11847,-11831,-11798,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -11781,-11604,-11589,-11536,-11358,-11340,-11339,-11324,-11303,-11097,-11077,-11067,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -11055,-11052,-11045,-11041,-11038,-11024,-11020,-11019,-11018,-11014,-10838,-10832,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -10815,-10800,-10790,-10780,-10764,-10587,-10544,-10533,-10519,-10331,-10329,-10328,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -10322,-10315,-10309,-10307,-10296,-10281,-10274,-10270,-10262,-10260,-10256,-10254&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 定义数组&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static string[] pyName = new string[]&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "A","Ai","An","Ang","Ao","Ba","Bai","Ban","Bang","Bao","Bei","Ben",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Beng","Bi","Bian","Biao","Bie","Bin","Bing","Bo","Bu","Ba","Cai","Can",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Cang","Cao","Ce","Ceng","Cha","Chai","Chan","Chang","Chao","Che","Chen","Cheng",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Chi","Chong","Chou","Chu","Chuai","Chuan","Chuang","Chui","Chun","Chuo","Ci","Cong",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Cou","Cu","Cuan","Cui","Cun","Cuo","Da","Dai","Dan","Dang","Dao","De",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Deng","Di","Dian","Diao","Die","Ding","Diu","Dong","Dou","Du","Duan","Dui",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Dun","Duo","E","En","Er","Fa","Fan","Fang","Fei","Fen","Feng","Fo",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Fou","Fu","Ga","Gai","Gan","Gang","Gao","Ge","Gei","Gen","Geng","Gong",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Gou","Gu","Gua","Guai","Guan","Guang","Gui","Gun","Guo","Ha","Hai","Han",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Hang","Hao","He","Hei","Hen","Heng","Hong","Hou","Hu","Hua","Huai","Huan",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Huang","Hui","Hun","Huo","Ji","Jia","Jian","Jiang","Jiao","Jie","Jin","Jing",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Jiong","Jiu","Ju","Juan","Jue","Jun","Ka","Kai","Kan","Kang","Kao","Ke",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Ken","Keng","Kong","Kou","Ku","Kua","Kuai","Kuan","Kuang","Kui","Kun","Kuo",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "La","Lai","Lan","Lang","Lao","Le","Lei","Leng","Li","Lia","Lian","Liang",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Liao","Lie","Lin","Ling","Liu","Long","Lou","Lu","Lv","Luan","Lue","Lun",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Luo","Ma","Mai","Man","Mang","Mao","Me","Mei","Men","Meng","Mi","Mian",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Miao","Mie","Min","Ming","Miu","Mo","Mou","Mu","Na","Nai","Nan","Nang",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Nao","Ne","Nei","Nen","Neng","Ni","Nian","Niang","Niao","Nie","Nin","Ning",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Niu","Nong","Nu","Nv","Nuan","Nue","Nuo","O","Ou","Pa","Pai","Pan",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Pang","Pao","Pei","Pen","Peng","Pi","Pian","Piao","Pie","Pin","Ping","Po",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Pu","Qi","Qia","Qian","Qiang","Qiao","Qie","Qin","Qing","Qiong","Qiu","Qu",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Quan","Que","Qun","Ran","Rang","Rao","Re","Ren","Reng","Ri","Rong","Rou",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Ru","Ruan","Rui","Run","Ruo","Sa","Sai","San","Sang","Sao","Se","Sen",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Seng","Sha","Shai","Shan","Shang","Shao","She","Shen","Sheng","Shi","Shou","Shu",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Shua","Shuai","Shuan","Shuang","Shui","Shun","Shuo","Si","Song","Sou","Su","Suan",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Sui","Sun","Suo","Ta","Tai","Tan","Tang","Tao","Te","Teng","Ti","Tian",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Tiao","Tie","Ting","Tong","Tou","Tu","Tuan","Tui","Tun","Tuo","Wa","Wai",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Wan","Wang","Wei","Wen","Weng","Wo","Wu","Xi","Xia","Xian","Xiang","Xiao",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Xie","Xin","Xing","Xiong","Xiu","Xu","Xuan","Xue","Xun","Ya","Yan","Yang",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Yao","Ye","Yi","Yin","Ying","Yo","Yong","You","Yu","Yuan","Yue","Yun",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Za", "Zai","Zan","Zang","Zao","Ze","Zei","Zen","Zeng","Zha","Zhai","Zhan",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Zhang","Zhao","Zhe","Zhen","Zheng","Zhi","Zhong","Zhou","Zhu","Zhua","Zhuai","Zhuan",&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Zhuang","Zhui","Zhun","Zhuo","Zi","Zong","Zou","Zu","Zuan","Zui","Zun","Zuo"&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 汉字转换&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// by http://www.crazycoder.cn/&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="hzString"&amp;gt;&amp;lt;/param&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static string Convert(string hzString)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Convert(hzString, 10);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// 把汉字转换成拼音(全拼)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// by http://www.crazycoder.cn/&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="hzString"&amp;gt;汉字字符串&amp;lt;/param&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;转换后的拼音(全拼)字符串&amp;lt;/returns&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static string Convert(string hzString,int maxLength)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (string.IsNullOrEmpty(hzString))&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (maxLength &amp;lt;= 1)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxLength = 10;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hzString = hzString.Trim().Replace(" ", "").Replace("?", "_").Replace("\\", "_").Replace("/", "_").Replace(":", "").Replace("*", "").Replace("&amp;gt;", "").Replace("&amp;lt;", "").Replace("?", "").Replace("|", "").Replace("\"", "'").Replace("(", "_").Replace(")", "_").Replace(";", "_");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hzString = hzString.Replace("，", ",").Replace("；", "_").Replace("。", "_").Replace(""", "").Replace(""", "").Replace("[", "").Replace("]", "").Replace("【", "").Replace("】", "");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hzString = hzString.Replace("{", "").Replace("}", "").Replace("^", "").Replace("&amp;amp;", "_").Replace("=", "").Replace("~", "_").Replace("@", "_").Replace("￥", "");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hzString.Length &amp;gt; maxLength)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hzString = hzString.Substring(0, maxLength);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Regex regex = new Regex(@"([a-zA-Z0-9\._]+)", RegexOptions.IgnoreCase);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (regex.IsMatch(hzString))&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hzString.Equals(regex.Match(hzString).Groups[1].Value,StringComparison.OrdinalIgnoreCase))&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return hzString;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 匹配中文字符&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; regex = new Regex("^[\u4e00-\u9fa5]$");&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] array = new byte[2];&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string pyString = "";&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int chrAsc = 0;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i1 = 0;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i2 = 0;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char[] noWChar = hzString.ToCharArray();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int j = 0; j &amp;lt; noWChar.Length; j++)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 中文字符&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (regex.IsMatch(noWChar[j].ToString()))&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array = System.Text.Encoding.Default.GetBytes(noWChar[j].ToString());&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i1 = (short)(array[0]);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i2 = (short)(array[1]);&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chrAsc = i1 * 256 + i2 - 65536;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (chrAsc &amp;gt; 0 &amp;amp;&amp;amp; chrAsc &amp;lt; 160)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pyString += noWChar[j];&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 修正部分文字&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (chrAsc == -9254)&amp;nbsp; // 修正"圳"字&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pyString += "Zhen";&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = (pyValue.Length - 1); i &amp;gt;= 0; i--)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pyValue[i] &amp;lt;= chrAsc)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pyString += pyName[i];&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 非中文字符&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pyString += noWChar[j].ToString();&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return pyString;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;原文：&lt;a href="http://longfei2025.blog.163.com/blog/static/3580771920081154259527/"&gt;http://longfei2025.blog.163.com/blog/static/3580771920081154259527/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/lauer0246/aggbug/1964016.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/lauer0246/archive/2011/02/24/1964016.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
