<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-15783244</id><updated>2009-11-25T03:41:15.197-08:00</updated><title type='text'>敛</title><subtitle type='html'>剪报，随笔</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default?start-index=26&amp;max-results=25'/><author><name>王元涛</name><uri>http://www.blogger.com/profile/16853044940928636417</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-15783244.post-116099658426146694</id><published>2006-10-16T04:03:00.000-07:00</published><updated>2006-10-16T04:03:04.323-07:00</updated><title type='text'></title><content type='html'> eps in tex&lt;br&gt;到网上下载一个叫做jpeg2ps的命令行程序，参数&lt;br&gt;j2 [op] 4.jpg &gt; 4.eps&lt;br&gt;&lt;br&gt;参数的意义如下： &lt;br&gt;-a 自动翻转: 如果宽大于高，生成横向输出 &lt;br&gt;-b 二进制模式: 输出8位数据（默认是7位的ASCII85) &lt;br&gt;-h 十六进制模式: 以ASCIIHex编码输出7位数据 &lt;br&gt;-o 输出文件名 &lt;br&gt;-p 页面大小的名称. 已知的名称有: a0, a1, a2, a3, a4, a5, a6, b5, letter, legal, ledger, p11x17 &lt;br&gt;-q 安静模式: 略过所有消息 &lt;br&gt;-r 分辨率值 (点/英尺) 0 意味着使用文件所给值，如果有的话 (自动翻转失效)&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-116099658426146694?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/116099658426146694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=116099658426146694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/116099658426146694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/116099658426146694'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/10/eps-in-texjpeg2ps-4.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115525526036197523</id><published>2006-08-10T17:14:00.000-07:00</published><updated>2006-08-10T17:14:20.430-07:00</updated><title type='text'>[转发]The Unified Communications Revolution</title><content type='html'>&lt;p&gt;来源：http://www.microsoft.com/mscorp/execmail/&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="4"&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;The Unified Communications Revolution&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/mscorp/execmail/2006/06-26unifiedcomm-print.asp"&gt;Printer-Friendly Format&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It doesn't matter whether you are the chairman of the world's largest software company, a salesperson at a medium-sized manufacturer or the receptionist at a small startup, there's one workplace scenario we are all familiar with. It starts when you need to reach a colleague quickly. First you look up their phone extension and give them a call, only to be directed to their voicemail. After you leave a message, you find their mobile phone number and leave a second message. Next, you send an email. If you happen to be in a meeting when your colleague gets your messages and tries to reach you, the process repeats itself, but from the other direction. &lt;/p&gt;  &lt;p&gt;A decade's worth of software innovation has transformed the workplace and empowered &lt;span style="color: rgb(255, 0, 0);"&gt;information workers&lt;/span&gt; to do their jobs with &lt;span style="color: rgb(255, 0, 0);"&gt;greater speed, effectiveness and intelligence.&lt;/span&gt; But communicating with colleagues and sharing information is still far too complicated. I wanted to share my thoughts with you about new "unified communications" innovations that will dramatically streamline the way we communicate at work and stay in touch with friends and family at home. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Enhanced Communications in the New World of Work&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Today, the Internet provides us with nearly unlimited access to information about markets, products and competitors. Productivity applications help us use that information to gain insight into a rapidly-changing world. Collaboration tools let us work together to transform insight into business decisions that drive success. During the next decade, a new generation of digital technologies will enable companies to create people-ready businesses that help employees work together to make informed, timely decisions that quicken the pace of innovation and open the door to new opportunities.&lt;/p&gt;  &lt;p&gt;But communication is still a significant challenge. In a single day, you probably send and receive email, make phone calls from your desktop and mobile telephones, and check messages in multiple mailboxes. You might participate in an audio conference call, use instant messaging and schedule meetings with your calendaring application.&lt;/p&gt;  &lt;p&gt;The irony is that rather than making it easier to reach people, the proliferation of disconnected communications devices often makes it more difficult and more time consuming. And in an age when business success increasingly depends on how quickly people can share information, this is a critical issue. &lt;/p&gt;  &lt;p&gt;In the coming years, unified communications technologies will eliminate the barriers between the &lt;span style="color: rgb(255, 0, 0);"&gt;communications modes―email, voice, Web conferencing and more&lt;/span&gt;―that we use every day. They will enable us to close the gap between the devices we use to contact people when we need information and the applications and business processes where we use that information. The impact on productivity, creativity and collaboration will be profound. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;The Dawn of the Age of Unified Communications&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;According to a recent study, there's a 70 percent chance that when you call someone at work, you will get voicemail. Another study found that one in four information workers spend the equivalent of three full working days each year trying unsuccessfully to connect with other people by phone. When you do reach the person you've called, there's no guarantee that it's a convenient time for them to answer your question, or that they have access to the information you need. &lt;/p&gt;  &lt;p&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;The problem is that our communications identities and experiences are linked too closely to our location, our devices and the mode of contact we are using.&lt;/span&gt; Your work number is tied to the phone on your desk. Your cell phone number calls the device you carry in your pocket. You may have separate identities for email and instant messaging, plus a number you call for audio conferencing and a code you must input. &lt;/p&gt;  &lt;p&gt;This is far too complicated. &lt;span style="color: rgb(255, 0, 0);"&gt;Unified communications will reduce complexity by putting people at the center of the communications experience.&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Our goal is to integrate all of the ways we contact each other in a single environment, using a single identity that spans phones, PCs and other devices. &lt;/span&gt;Our vision is to make it easy for people to reach each other using the mode of communication that is the most productive, on the device that is most convenient, while at the same time providing individuals with the highest levels of control over when and how they can be reached, and by whom. &lt;/p&gt;  &lt;p&gt;With unified communications, you will be able to &lt;span style="color: rgb(255, 0, 0);"&gt;tell at a glance&lt;/span&gt; if the person you need to talk to is in the office and &lt;span style="color: rgb(255, 0, 0);"&gt;available to take your call. &lt;/span&gt;When you are on the phone, you'll be able to move from a two-person conversation to a conference call with a click of the mouse, or &lt;span style="color: rgb(255, 0, 0);"&gt;switch to a video conference&lt;/span&gt; that includes colleagues and partners from around the world. Unified communications solutions will have the &lt;span style="color: rgb(255, 0, 0);"&gt;intelligence to know who is allowed to interrupt&lt;/span&gt; you when you are busy and &lt;span style="color: rgb(255, 0, 0);"&gt;automatically route phone calls, emails and instant messages to the right device&lt;/span&gt; when you leave the office. You'll also be able to &lt;span style="color: rgb(255, 0, 0);"&gt;listen to your email or read your phone messages.&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;Unified communications will reduce complexity on the backend, too. Today, IT struggles to operate an unwieldy mix of disconnected systems: &lt;span style="color: rgb(255, 0, 0);"&gt;a PBX system for phone calls, a messaging system for voice mail, a solution for email, a system for instant messaging and more.&lt;/span&gt; According to one recent survey, a typical company has &lt;span&gt;deployed six types of communications devices&lt;/span&gt; and runs five different communications software systems. &lt;/p&gt;  &lt;p&gt;The expense can be enormous. Even at Microsoft, it still costs up to $750 to give a new employee basic telephony capabilities, plus an additional $180 per user per year for maintenance and management. And Microsoft and companies like ours continue to spend heavily on telephony even though the PC has largely replaced the telephone as the way people prefer to communicate in the workplace. In a recent poll, 61 percent of information workers cited email as their primary communication tool, while 75 percent said they check their email every morning before they check their voice messages. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;The Coming Communications Convergence&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The arrival of unified communications signals the beginning of the convergence of&lt;span style="color: rgb(255, 0, 0);"&gt; VoIP telephony&lt;/span&gt; (which provides the ability to route telephone calls through the Internet), &lt;span style="color: rgb(255, 0, 0);"&gt;email, instant messaging, mobile communications, and audio and video Web conferencing&lt;/span&gt; into a single platform that &lt;span style="color: rgb(255, 0, 0);"&gt;shares a common directory and common developer tools&lt;/span&gt;. Unified communications also takes advantage of standard communication protocols such as SIP (Session Initiation Protocol) to route communications to the right people on the right device. &lt;/p&gt;  &lt;p&gt;Building on these communications standards, Microsoft is delivering a powerful set of unified communications capabilities that provide the framework for &lt;span&gt;person-centric communications&lt;/span&gt; across locations and devices. The result is an approach to unified communications that is: &lt;/p&gt;  &lt;p&gt;&lt;i&gt;Personal and intuitive:&lt;/i&gt; One of our most important goals is to make communication and information access seamless and personal, &lt;span style="color: rgb(255, 0, 0);"&gt;no matter where you are or what device you are using&lt;/span&gt;. Presence―which provides information about your availability―will enable you to reach the right person on the first try. Intelligent information agent software that understands how you prefer to work will give you control over who can contact you, on what device and at what times. SIP standards and software-based call management will make communications richer and more intuitive, and &lt;span style="color: rgb(255, 0, 0);"&gt;provide seamless transitions from one communications mode to the next.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Convenient and integrated:&lt;/i&gt; Today, when you contact a colleague, you probably need to switch from the application you are working in to an address book and then to a device (like a telephone) or a different application (such as email). Microsoft unified communications will enable you to collaborate directly from the application where you are working. &lt;span style="color: rgb(255, 0, 0);"&gt;Integration with Microsoft Office will help make Microsoft Outlook the center for all types of communications experiences and provide seamless access to collaboration tools such as Microsoft SharePoint.&lt;/span&gt; By delivering a standards-based platform, Microsoft will enable developers to integrate communications into applications that provide even greater value, convenience and power.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Flexible and trustworthy:&lt;/i&gt; Microsoft unified communications will enable organizations to consolidate their communications systems into an integrated platform that utilizes a single identity for each user and provides a common management and compliance infrastructure. This will enable IT departments to significantly improve communications and collaboration capabilities while reducing complexity and lowering total cost of ownership. Built on a platform that is secure and reliable, Microsoft unified communications technologies are already helping leading companies achieve groundbreaking TCO. Ebay, for example, has lowered its per-mailbox costs by 70 percent. At Nissan, collaboration technologies have helped save more than US$135 million. And Siemens has unified 130 business units into a single Active Directory.&lt;/p&gt;  &lt;p&gt;With products like Microsoft Exchange Server, Microsoft Office Outlook and Microsoft Office Communicator, we have long been at the forefront of digital communications technologies. In the coming year, a new wave of communications products―including Microsoft Exchange Server 2007, Microsoft Office Communications Server 2007, Microsoft Office Communicator 2007, Microsoft Office Live Meeting 2007, Microsoft Communicator phones and &lt;span style="color: rgb(255, 0, 0);"&gt;Microsoft Office RoundTable&lt;/span&gt;―will enable companies to create an infrastructure what will transform the way they do business.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Unified Communications in the People-Ready Business&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To get an idea of what the unified communications world will look like, watch the young people in your organization―particularly the ones who are &lt;span style="color: rgb(255, 0, 0);"&gt;fresh out of college. They've lived their entire lives in the digital age, communicating in real-time via text messaging and instant messages.&lt;/span&gt; For some of them, even email lacks the immediate gratification they expect when they want to communicate with someone. To this generation, the desktop phone has about as much relevance as an electric typewriter does for those of us a generation or two older. &lt;/p&gt;  &lt;p&gt;Using cutting-edge communications technologies, this younger generation has created online communities based on shared interests. They keep in constant contact with the people they care about, no matter where they are located. They create, collect and share digital content and information―music, pictures, news, video. It's all a testament to the power and immediacy of today's digital technology.&lt;/p&gt;  &lt;p&gt;It's also perfect training for the New World of Work. Instead of online communities based on shared interests, when they join your company, they'll build virtual work teams that span the globe. The list of important people they keep in touch with will expand to include your customers. In addition to music and pictures, they'll share reports and presentations created in collaboration with colleagues and business partners. &lt;/p&gt;  &lt;p&gt;As this generation moves into the workforce, they expect to continue using the devices they've grown up with. Organizations that can't meet this expectation will be at a sharp disadvantage as talented young people choose to work for companies that recognize the value of a new generation of communications innovations.&lt;/p&gt;  &lt;p&gt;Companies that do provide the unified communications framework that these young people expect will see incredible benefits. Recruiting young talent will be easier, of course. But the gains will be much broader. Unified communications technology will help companies raise productivity and respond more rapidly to changing business conditions. These technologies will also enable organizations to create closer ties to customers, develop innovative products more quickly and reduce costs. &lt;/p&gt;  &lt;p&gt;Ultimately, unified communications is about delivering a new way of doing business that recognizes that people are more important than processes. And it is about creating a New World of Work where technology unleashes the passion and potential that each one of us brings with us every day when we go to work. &lt;/p&gt;  &lt;p&gt;Bill Gates&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115525526036197523?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115525526036197523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115525526036197523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115525526036197523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115525526036197523'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/08/unified-communications-revolution.html' title='[转发]The Unified Communications Revolution'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115522293667648037</id><published>2006-08-10T08:15:00.000-07:00</published><updated>2006-08-10T08:15:36.740-07:00</updated><title type='text'>Web Service URL should be a config setting</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;Web Service URL should be a config setting --- it already is!&lt;/p&gt;&lt;p class="mobile-post"&gt;During today's webcast on web services (Wed Feb 8), there was a question related to moving your web service from your dev box to the production box.  When the web service moves, the URL will change, so what's the best way to protect your client code from this predictable change?  We shouldn't need to re-reference and recompile the client app just because the web service moved.  The answer of course is that the URL should be a .config setting.  The detail I forgot was exactly what property to set at run-time after you read the URL from the .config file.&lt;/p&gt;&lt;p class="mobile-post"&gt;Duh, it's the .Url property!  Let me finish this story, and then tell you an even better one :-)  But first, the .Url property.  The client starts by createing the web service object (which is really the proxy), and then sets the URL like this:&lt;/p&gt;&lt;p class="mobile-post"&gt;     this.server = new EmployeeWebService.Employees();&lt;/p&gt;&lt;p class="mobile-post"&gt;     this.server.Url = Properties.Settings.EmployeeWebServiceURL;&lt;/p&gt;&lt;p class="mobile-post"&gt;This assumes you have defined a .config setting named EmployeeWebServiceURL.  It may seem backwards to create the web service object first  and set the URL second, since don't you need the URL to create the web service object?  Nope, because you're really just creating the proxy --- the web service isn't contacted until you make a method call, and that's when you need the URL.&lt;/p&gt;&lt;p class="mobile-post"&gt;So that's the first part of the story:  create .config setting, and set the proxy's Url property before you call it.  So off I got to update my demo code in VS 2005, I bring up the Properties page, click the Settings tab, and behold, the .config setting is already there!  Turns out Visual Studio 2005 automatically defines an application-level setting for the project whenever you add a web reference.  So in my demo code, in the BusinessTierClient project, there's a setting called “BusinessTierClient_EmployeeWebService_Employees“ that contains the URL for the web service.  And the proxy is already coded to read this setting, so if you chance it, the proxy does the right thing.  Very cool.&lt;/p&gt;&lt;p class="mobile-post"&gt;The only problem is that this .config setting is stored in the component's app.config file, which for a DLL, isn't around at run-time.  So to make this work the way you want it to --- i.e. to expose the .config setting in the client-side .exe's config file --- you have to merge the DLL's app.config file with the client-side .exe's config file.  We've done this already with other settings, e.g. the connection string needed by Data Access Tier has to be merged into web.config (for a web service) or remotingserver.exe.config (for a remoting server host).  I'll update my demo and repost the demo + slides to the webcasts page, in this case app.config file associated with the EmployeeClientGUI has been updated, that's it.&lt;/p&gt;&lt;p class="mobile-post"&gt;Learning something new every day...  Cheers,&lt;br /&gt;posted on Wednesday, February 08, 2006 9:52 PM&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115522293667648037?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115522293667648037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115522293667648037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115522293667648037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115522293667648037'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/08/web-service-url-should-be-config.html' title='Web Service URL should be a config setting'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115483491320052327</id><published>2006-08-05T20:28:00.000-07:00</published><updated>2006-08-05T20:28:33.246-07:00</updated><title type='text'>Fwd: 孤独的鸟</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;------- 转发的邮件 -------&lt;br /&gt;寄件人: 卡布基诺 &amp;lt;&amp;gt;&lt;br /&gt;收件人:&lt;br /&gt;抄送:&lt;br /&gt;主题: 孤独的鸟&lt;br /&gt;日期: Sun, 06 Aug 2006 09:58:35 +0800&lt;/p&gt;&lt;p class="mobile-post"&gt;一只鸟的孤独飘荡在空中&lt;/p&gt;&lt;p class="mobile-post"&gt;高高在上&lt;/p&gt;&lt;p class="mobile-post"&gt;没有 什么可以触摸得到&lt;/p&gt;&lt;p class="mobile-post"&gt;除了白云&lt;/p&gt;&lt;p class="mobile-post"&gt;一只孤独的鸟翱翔在空中&lt;/p&gt;&lt;p class="mobile-post"&gt;高高 在上&lt;/p&gt;&lt;p class="mobile-post"&gt;没有 什么可以攀越得了&lt;/p&gt;&lt;p class="mobile-post"&gt;除了白云&lt;/p&gt;&lt;p class="mobile-post"&gt;鸟的孤独&lt;/p&gt;&lt;p class="mobile-post"&gt;是鸟 的骄傲&lt;/p&gt;&lt;p class="mobile-post"&gt;鸟高贵呼吸的方式&lt;/p&gt;&lt;p class="mobile-post"&gt;孤独的鸟&lt;/p&gt;&lt;p class="mobile-post"&gt;是孤 独的姿势&lt;/p&gt;&lt;p class="mobile-post"&gt;孤独高高在上的展示&lt;/p&gt;&lt;p class="mobile-post"&gt;天空 够空 够宽广&lt;/p&gt;&lt;p class="mobile-post"&gt;是鸟 的梦想&lt;/p&gt;&lt;p class="mobile-post"&gt;孤独的样子&lt;/p&gt;&lt;p class="mobile-post"&gt;成为孤独的鸟的条件&lt;/p&gt;&lt;p class="mobile-post"&gt;就是&lt;/p&gt;&lt;p class="mobile-post"&gt;飞到天空的最高处&lt;/p&gt;&lt;p class="mobile-post"&gt;飞过 其他的鸟的头顶&lt;/p&gt;&lt;p class="mobile-post"&gt;嘴始终向着高处&lt;/p&gt;&lt;p class="mobile-post"&gt;然后歌唱&lt;br /&gt;_________________________________________________________________&lt;/p&gt;&lt;p class="mobile-post"&gt;文章:&lt;br /&gt;* http://nosure.blog.sohu.com/8924006.html&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115483491320052327?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115483491320052327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115483491320052327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115483491320052327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115483491320052327'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/08/fwd.html' title='Fwd: 孤独的鸟'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115442018868489946</id><published>2006-08-01T01:16:00.000-07:00</published><updated>2006-08-01T01:16:28.816-07:00</updated><title type='text'>决战中文域名</title><content type='html'>&lt;p class="mobile-post"&gt;决战中文域名&lt;br /&gt;安装一游戏，同时用汉化包汉化了一下，再打一IE的时候，发现中招了，汉化包里面带上了万恶的中文网址。虽然以前一直耳闻，它的抗删除能力超过了删除系统，但是一直没有碰到过，今天“有幸”碰到了一次，一定要和它斗一斗！我决不允许我的系统里面装上一丝垃圾。&lt;br /&gt;因为没有找到它的文件：卸载程序，可执行文件……看来它就是要让大家找不到，就没有办法删。但是即然要启动，应该会在自启动项或是服务里面添加上了。最后服务列表里面没有，自启动上面有一个Capp.exe勾掉，再打开msconfig发现那个勾又被勾上了。应该在内存里面的副本自动检测了项，发现被勾掉了自己勾回上去。再搜索了一下硬盘，根本就找不到这个文件。再用中文域名搜了一下注册表，在IE扩展的项里面找到了它是一个：cdnIEhlp.dll在系统目录下面，呵呵，多么有欺骗性的名字，可是到那里一找也找不到，只好删注册表，可是删除出错，应该也是被监视了，只要删除就重建，让系统误以为没有删除成功，再搜索这个文件，也没有找到，为什么它会保护这些根本就不可能再加载到的文件呢？我的猜想是这几个文件加载完成后就自动删除了，等系统关机后再自己保存回到硬盘上。发现我的2003打了SP1后，IE上多了一个加载项管理，进入发现了它的加载项，把它禁用，只可惜MS不提供一个删除的功能。删除工作感觉失败了。&lt;br /&gt;只好到网上搜索一下，因为很久以前都知道有专杀了，可是就是不知道是什么名字。找了一会儿后，就找到了：《3721、CNNIC、Alibaba 卸载程序 3in1 2004.10.6(蓝色网际) 2004》。运行，出来了中文域名的卸载界面，按步骤卸载。重启后，再运行还是有它。看来这个也无能为力。不过它找到了它的那几个在硬盘上的文件。到指定的位置上去看，那几个文件果然在，真是柳暗花明又一村呀。于是尝试删除，不成功，被提示被锁定，呵呵，肯定是被这个病毒进程锁定了。用procexpnt搜一下系统的进程，发现在主svchost.dll的进程里面，作为一项服务启动了，可是在服务列表里面看不到。把这个服务停掉，再删除那几个文件，这时候可以删除了。发现有一个文件竟然放到了windows\system32\drivers目录下面：ahook.sys。我想一般的用户都不敢动这里面的文件。在删除的过程中发现这些文件的名字都是乱起的，上面没有任何的版本，版权信息。如果作为一个正当的程序，谁不想让别人知道这是它作的呢？还不是怕别人找出来被人删除，真是用心险恶。怕正常关机又会被内存的病毒重新激活，所以只好选择暴力重启（直接按reset键）重启后，原来无法删除的注册表项可以删除了，世界终于又恢复了和平：）&lt;br /&gt;感觉写这些东西的人的水平绝对比写病毒的人的水平高多了。可是这些人聪明才智总是不用在正当的路上，为了经济利益用这种手段，还对外号称是大公司呢。只可惜这是在中国，不然就凭这个，估计会被人告得公司会赔得破产。得到的教训是以后宁可看英文的软件界面，也不要打汉化包，特别是汉化新世纪的，其它的软件在装的时候，还会提示是否安装这个垃圾，它提示都没有就直接装了。&lt;br /&gt;其实只要大家都不用这个垃圾，那么已经买了中文域名的人都会退货，那时候这个公司不倒才怪呢。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115442018868489946?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115442018868489946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115442018868489946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115442018868489946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115442018868489946'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/08/blog-post.html' title='决战中文域名'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115371476136569329</id><published>2006-07-23T21:19:00.000-07:00</published><updated>2006-07-23T21:19:21.413-07:00</updated><title type='text'>Fwd: 2010年最火与最冷的IT职业</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;------- 转发的邮件 -------&lt;br /&gt;寄件人: "Jim Qiu" &amp;lt;&amp;gt;&lt;br /&gt;收件人:&lt;br /&gt;抄送:&lt;br /&gt;主题: 2010年最火与最冷的IT职业&lt;br /&gt;日期: Tue, 18 Jul 2006 23:10:12 +0800&lt;/p&gt;&lt;p class="mobile-post"&gt;域的不同，作者&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115371476136569329?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115371476136569329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115371476136569329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115371476136569329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115371476136569329'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/07/fwd-2010it.html' title='Fwd: 2010年最火与最冷的IT职业'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115349234016277940</id><published>2006-07-21T07:32:00.000-07:00</published><updated>2006-07-21T07:32:20.240-07:00</updated><title type='text'>Mutex是个宝贝！</title><content type='html'>&lt;div&gt;研究C#线程控制，素闻不如Java好用，今天吃了他的苦头。&lt;/div&gt; &lt;div&gt;朴素的想法，while(true)，CPU受不了。&lt;/div&gt; &lt;div&gt;按照C#的老规距，先搞一个Flag，往哪儿一插，再把自己lock住，交给Monitor看着，直到自己高兴的时候去pulse。&lt;/div&gt; &lt;div&gt;但是巨烦，要么锁死了，要么访问不到。&lt;/div&gt; &lt;div&gt;后来实在怒了，决定看看导致IIS和VS冲突Mutex究竟是个什么玩意儿。一看，大喜！&lt;/div&gt; &lt;div&gt;来~~~&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;构造时&lt;/div&gt; &lt;div&gt;mx = new Mutex(true);&lt;/div&gt; &lt;div&gt;run时&lt;/div&gt; &lt;div&gt;mx.WaitOne();&lt;/div&gt; &lt;div&gt;松绑时&lt;/div&gt; &lt;div&gt;mx.ReleaseMutex();&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;就这么简单！一句废话也没有！&lt;/div&gt; &lt;div&gt;关键一个概念就是mutex的owner是谁！搞清楚，都是MainThread！&lt;/div&gt; &lt;div&gt;C#和Java不一样在于，除了入口，都是被动对象。而Java中Extend了Thread类的都是主动对象！&lt;/div&gt; &lt;div&gt;Mutex真是个宝贝！&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115349234016277940?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115349234016277940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115349234016277940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115349234016277940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115349234016277940'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/07/mutex.html' title='Mutex是个宝贝！'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-115346765190945698</id><published>2006-07-21T00:40:00.000-07:00</published><updated>2006-07-21T00:40:51.946-07:00</updated><title type='text'>IPS Web Service</title><content type='html'>&lt;p class="mobile-post"&gt;&amp;lt;URL: http://www.wopos.com/webservice/ips.asmx &amp;gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-115346765190945698?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/115346765190945698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=115346765190945698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115346765190945698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/115346765190945698'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/07/ips-web-service.html' title='IPS Web Service'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114960340183722371</id><published>2006-06-06T07:16:00.000-07:00</published><updated>2006-06-06T07:16:41.843-07:00</updated><title type='text'>pics</title><content type='html'>&lt;p class="mobile-post"&gt;just for a test from opera&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114960340183722371?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114960340183722371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114960340183722371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114960340183722371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114960340183722371'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/06/pics.html' title='pics'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114913391095140711</id><published>2006-05-31T20:51:00.000-07:00</published><updated>2006-05-31T20:51:50.996-07:00</updated><title type='text'>Fwd:玩家不断在网络上虚拟杀人，可能会冲淡他们对于杀人行为的罪恶感</title><content type='html'>&lt;div class="feedContent"&gt; &lt;p&gt;tinyfool引用记者的话,说&amp;#8221;&lt;a href="http://blog.donews.com/tinyfool/archive/2006/05/31/895951.aspx"&gt;玩家不断在网络上虚拟杀人，可能会冲淡他们对于杀人行为的罪恶感&lt;/a&gt;&amp;#8220;.那么:&lt;/p&gt; &lt;p&gt;电脑用户不断在电脑上打字，可能会冲淡他们对于打人行为的罪恶感&lt;/p&gt; &lt;p&gt;网虫不断上网,可能会冲淡他们对于当蜘蛛的罪恶感&lt;/p&gt; &lt;p&gt;厨师不断在生活中切菜，可能会冲淡他们对于砍人行为的罪恶感&lt;/p&gt; &lt;p&gt;演员不断在电影中演黄世仁，可能会冲淡他们对于欺压农民行为的罪恶感&lt;/p&gt; &lt;p&gt;修车的不断在路边打胎补气,可能会冲淡他们对于打胎的罪恶感&lt;/p&gt; &lt;p&gt;小朋友在儿童节不断扮演小动物,可能会冲淡他们对于返祖的罪恶感&lt;/p&gt; &lt;p&gt;迪斯尼米老鼠的扮演者不断扮演老鼠,可能会冲淡他们对于偷油的罪恶感&lt;/p&gt; &lt;p&gt;&lt;strong&gt;某些&lt;/strong&gt;记者不断在生活中说谎，肯定会冲淡他们对于骗人行为的罪恶感 &lt;/p&gt;  &lt;/div&gt; &lt;p&gt;&lt;a href="http://my.donews.com/eraera/2006/06/01/murder-mystery-confusion/"&gt;http://my.donews.com/eraera/2006/06/01/murder-mystery-confusion/&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;------- 转发的邮件 -------&lt;br /&gt;寄件人: 美人她爹 &amp;lt;&amp;gt;&lt;br /&gt;收件人:&lt;br /&gt;抄送:&lt;br /&gt;主题: 玩家不断在网络上虚拟杀人，可能会冲淡他们对于杀人行为的罪恶感&lt;br /&gt;日期: Thu, 01 Jun 2006 09:04:08 +0800&lt;/p&gt;&lt;p class="mobile-post"&gt;tinyfool引用记者的话,说”玩家 不断在网络上虚拟杀人，可能会冲淡他们对于杀人行为的罪恶感“.那 么:&lt;/p&gt;&lt;p class="mobile-post"&gt;电脑用户不断在电脑上打字，可能会冲淡他们对于打人行为的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;网虫不断上网,可能会冲淡他们对于当蜘蛛的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;厨师不断在生活中切菜，可能会冲淡他们对于砍人行为的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;演员不断在电影中演黄世仁，可能会冲淡他们对于欺压农民行为的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;修车的不断在路边打胎补气,可能会冲淡他们对于打胎的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;小朋友在儿童节不断扮演小动物,可能会冲淡他们对于返祖的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;迪斯尼米老鼠的扮演者不断扮演老鼠,可能会冲淡他们对于偷油的罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;某些记者不断在生活中说谎，肯定会冲淡他们对于骗人行为的 罪恶感&lt;/p&gt;&lt;p class="mobile-post"&gt;http://my.donews.com/eraera/2006/06/01/murder-mystery-confusion/&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114913391095140711?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114913391095140711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114913391095140711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114913391095140711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114913391095140711'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/05/fwd_31.html' title='Fwd:玩家不断在网络上虚拟杀人，可能会冲淡他们对于杀人行为的罪恶感'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114851964515739919</id><published>2006-05-24T18:14:00.000-07:00</published><updated>2006-05-24T18:14:05.236-07:00</updated><title type='text'>Fwd:东拉西扯：新浪沉没</title><content type='html'>&lt;div class="feedContent"&gt; &lt;p&gt;新浪是中国互联网上影响力最大的品牌，新浪用7年多时间打造的新闻超市，几乎可以与官媒CCTV相媲美。我一直认为，新浪是巧妙地利用了一个机会窗口做起来的，现在那个窗口已经关闭，再也不可能出现第二个新浪了。但现在，我对此有点儿怀疑了。新浪这艘巨舰，终究也是有可能沉没的，只是我没想到，这事儿来得这么快。&lt;/p&gt; &lt;p&gt;我想，这里有一条至关重要的警戒线，即新浪是否还能守得住互联网广告老大这个位置。一旦新浪广告收入被其他公司超越，比如说搜狐，就很可能成为压沉新浪这艘巨轮的最后一根稻草。2006年第一季度，新浪广告收入2220万美元，搜狐同期广告收入2010万美元，两者的差距只有10%左右。陈彤说&amp;ldquo;我能听得到搜狐喘气的声音&amp;rdquo;，绝不是故作姿态，也不是耸人听闻。如果考虑在08年奥运会、世界杯和NBA等重大赛事的转播权问题上，搜狐打败新浪所带来的市场和心理影响，整个局势很有可能发生根本性的扭转。&lt;/p&gt; &lt;p&gt;新闻，的确是新浪的核心优势，新闻监管部门也确实需要一个有巨大影响力的可掌控的网络媒体平台，新华网、人民网、千龙网等官方网媒在可预见的未来根本无力扮演这样的角色，仅仅从满足领导人业绩的角度考虑，他们彼此之间的竞争，也远大于他们与新浪的竞争。但中国的媒体管制和新浪的资本结构，让它组建跨媒体传媒集团的梦想永远不可能实现。所以，新浪尽管有独一无二的跨地域媒体品牌，却无法取得独一无二的广告收益，甚至无法在已有品牌的基础上继续扩张。&lt;/p&gt; &lt;p&gt;新浪不生产新闻，已经让新浪规避了很多风险，陈彤在总编辑的位子上一坐就是8年，换成任何一家比较大的传统媒体，都是很难想象的。&amp;ldquo;犯错误&amp;rdquo;通常是总编辑的家常便饭，陈彤可以基本上不犯错误，或不犯大错误，因为错误都是别人犯的。新浪的新闻超市模式，提高了这种不容易把握的安全系数。不过，这种模式也让新浪受制于真正的新闻提供者，同时限制了它发挥更大作用的可能。新浪希望在未来的宽带广告市场重演一次新闻超市模式的辉煌，现在看来似乎也不那么乐观。&lt;/p&gt; &lt;p&gt;其实，如果新浪真的被搜狐超越，也是一件挺滑稽的事儿。搜狐的新闻模式跟新浪大同小异，只不过由于新浪目标太大，承担了更多来自宣传机构的严密监视和约束，也承受了更多来自传统媒体的愤懑和指责。被一个模仿者超越，应该是一件比较郁闷的事吧？&lt;/p&gt; &lt;p&gt;百度的广告收入增长很快，但百度对占网络广告市场半数的品牌广告缺乏吸引力，这个市场基本上被门户网站的新闻频道瓜分。这一格局短时间内很难被打破，这也是为什么很多网站都要做门户、中国门户都要做新闻的主要原因。&lt;/p&gt; &lt;p&gt;假设新浪真的沉没了，也并不代表市场开始重新洗牌，它只是原有市场内部的一次利益调整。也许它可以警告新浪，作为一个媒体品牌，它从来都不像自己想象的那么牢靠。一家出身不好、成分复杂的公众公司，永远都不可能像纯洁的CCTV那样，坐享权力分配给它的利益。&lt;/p&gt;&lt;img src ="http://blog.donews.com/keso/aggbug/881544.aspx" width = "1" height = "1" /&gt; &lt;/div&gt; &lt;p&gt;&lt;a href="http://blog.donews.com/keso/archive/2006/05/23/881544.aspx"&gt;http://blog.donews.com/keso/archive/2006/05/23/881544.aspx&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;------- 转发的邮件 -------&lt;br /&gt;寄件人: keso &amp;lt;&amp;gt;&lt;br /&gt;收件人:&lt;br /&gt;抄送:&lt;br /&gt;主题: 东拉西扯：新浪沉没&lt;br /&gt;日期: Tue, 23 May 2006 21:16:00 +0800&lt;/p&gt;&lt;p class="mobile-post"&gt;新浪是中国互联网上影响力最大的品牌，新浪用7年多时间打造的新闻超市，几乎 可以与官媒CCTV相媲美。我一直认为，新浪是巧妙地利用了一个机会窗口做起来的， 现在那个窗口已经关闭，再也不可能出现第二个新浪了。但现在，我对此有点儿怀疑&lt;br /&gt;了。新浪这艘巨舰，终究也是有可能沉没的，只是我没想到，这事儿来得这么 快。&lt;/p&gt;&lt;p class="mobile-post"&gt;我想，这里有一条至关重要的警戒线，即新浪是否还能守得住互联网广告老大这个 位置。一旦新浪广告收入被其他公司超越，比如说搜狐，就很可能成为压沉新浪这艘 巨轮的最后一根稻草。2006年第一季度，新浪广告收入2220万美元，搜狐同期广告收&lt;br /&gt;入2010万美元，两者的差距只有10%左右。陈彤说“我能听得到搜狐喘气的声音 ”，绝不是故作姿态，也不是耸人听闻。如果考虑在08年奥运会、世界杯和 NBA等重大赛事的转播权问题上，搜狐打败新浪所带来的市场和心理影响，整个局势很&lt;br /&gt;有可能发生根本性的扭转。&lt;/p&gt;&lt;p class="mobile-post"&gt;新闻，的确是新浪的核心优势，新闻监管部门也确实需要一个有巨大影响力的可掌 控的网络媒体平台，新华网、人民网、千龙网等官方网媒在可预见的未来根本无力扮 演这样的角色，仅仅从满足领导人业绩的角度考虑，他们彼此之间的竞争，也远大于&lt;br /&gt;他们与新浪的竞争。但中国的媒体管制和新浪的资本结构，让它组建跨媒体传媒集团 的梦想永远不可能实现。所以，新浪尽管有独一无二的跨地域媒体品牌，却无法取得 独一无二的广告收益，甚至无法在已有品牌的基础上继续扩张。&lt;/p&gt;&lt;p class="mobile-post"&gt;新浪不生产新闻，已经让新浪规避了很多风险，陈彤在总编辑的位子上一坐就是 8年，换成任何一家比较大的传统媒体，都是很难想象的。“犯错误”通常 是总编辑的家常便饭，陈彤可以基本上不犯错误，或不犯大错误，因为错误都是别人&lt;br /&gt;犯的。新浪的新闻超市模式，提高了这种不容易把握的安全系数。不过，这种模式也 让新浪受制于真正的新闻提供者，同时限制了它发挥更大作用的可能。新浪希望在未 来的宽带广告市场重演一次新闻超市模式的辉煌，现在看来似乎也不那么乐观。&lt;/p&gt;&lt;p class="mobile-post"&gt;其实，如果新浪真的被搜狐超越，也是一件挺滑稽的事儿。搜狐的新闻模式跟新浪 大同小异，只不过由于新浪目标太大，承担了更多来自宣传机构的严密监视和约束， 也承受了更多来自传统媒体的愤懑和指责。被一个模仿者超越，应该是一件比较郁闷&lt;br /&gt;的事吧？&lt;/p&gt;&lt;p class="mobile-post"&gt;百度的广告收入增长很快，但百度对占网络广告市场半数的品牌广告缺乏吸引力， 这个市场基本上被门户网站的新闻频道瓜分。这一格局短时间内很难被打破，这也是 为什么很多网站都要做门户、中国门户都要做新闻的主要原因。&lt;/p&gt;&lt;p class="mobile-post"&gt;假设新浪真的沉没了，也并不代表市场开始重新洗牌，它只是原有市场内部的一次 利益调整。也许它可以警告新浪，作为一个媒体品牌，它从来都不像自己想象的那么 牢靠。一家出身不好、成分复杂的公众公司，永远都不可能像纯洁的CCTV那样，坐享&lt;br /&gt;权力分配给它的利益。&lt;/p&gt;&lt;p class="mobile-post"&gt;http://blog.donews.com/keso/archive/2006/05/23/881544.aspx&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114851964515739919?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114851964515739919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114851964515739919' title='77 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114851964515739919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114851964515739919'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/05/fwd.html' title='Fwd:东拉西扯：新浪沉没'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>77</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114571292927123169</id><published>2006-04-22T06:35:00.000-07:00</published><updated>2006-04-22T06:35:30.110-07:00</updated><title type='text'></title><content type='html'>&lt;p class="mobile-post"&gt;Ajax.NET关键&lt;br /&gt;1、配置&lt;br /&gt;·引用dll到bin&lt;br /&gt;·web.config截断HTTP到Ajax工厂&lt;br /&gt;			&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;				&amp;lt;add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/&amp;gt;&lt;br /&gt;			&amp;lt;/httpHandlers&amp;gt;&lt;br /&gt;·运行时注册：&lt;br /&gt;             AjaxPro.Utility.RegisterTypeForAjax(typeof(AH.Factrory));&lt;br /&gt;             AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));&lt;br /&gt;当前ns或其他ns皆可&lt;br /&gt;2、服务器程序：&lt;br /&gt;使用标记，参数随便&lt;br /&gt;         [AjaxPro.AjaxMethod]&lt;br /&gt;         public string GetServerTime(string par,string ui)&lt;br /&gt;         {&lt;br /&gt;             string str = DateTime.Now.ToString();&lt;br /&gt;                System.Threading.Thread.Sleep(2220);&lt;br /&gt;             return str + par + DateTime.Now.ToString()+ui;&lt;br /&gt;         }&lt;/p&gt;&lt;p class="mobile-post"&gt;3、客户端脚本&lt;br /&gt;        function getServerTime_callback(res)&lt;br /&gt;        {&lt;br /&gt;           $("display").innerHTML +=res.value+"&amp;lt;br/&amp;gt;";&lt;br /&gt;        }&lt;/p&gt;&lt;p class="mobile-post"&gt;        function dod(){&lt;br /&gt;            AH.Factrory.GetServerTime("|+|","*******\9中文774r",getServerTime_callback);&lt;/p&gt;&lt;p class="mobile-post"&gt;        }&lt;br /&gt;直接从ns作为js对象，层层向下引用，直到调用方法。&lt;br /&gt;第三个参数为异步回调函数。同步调用方法返回值就是服务器返回值。&lt;br /&gt;4、牛狴之处&lt;br /&gt;·多线程，比MagcAjax强悍许多。允许客户端同时跑很多异步线程，并行不悖。同步异步区别方便。&lt;br /&gt;·多参数传递灵活，这比ICall好用多了，客户端脚本直接从ns引用服务器对象，用起来极爽。&lt;br /&gt;·后台类型兼容到脚本环境，参考example，17种数据类型前后台互兼容。&lt;br /&gt;·FF兼容（可惜Opera不兼容）&lt;/p&gt;&lt;p class="mobile-post"&gt;附：异步回调参数res&lt;br /&gt;error&lt;br /&gt;value&lt;br /&gt;request&lt;br /&gt;context&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114571292927123169?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114571292927123169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114571292927123169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114571292927123169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114571292927123169'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/ajax.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114550112063650835</id><published>2006-04-19T19:45:00.000-07:00</published><updated>2006-04-19T19:45:20.713-07:00</updated><title type='text'></title><content type='html'>&lt;p class="mobile-post"&gt;"Move On Now"&lt;/p&gt;&lt;p class="mobile-post"&gt;  Baby, Baby i think its time we move on now&lt;br /&gt;  Baby, Baby i think its time we move on now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Looking out my bedroom window&lt;br /&gt;  See the planes take off from Heathrow&lt;br /&gt;  one by one they come and go&lt;br /&gt;  on and on on and on&lt;/p&gt;&lt;p class="mobile-post"&gt;  I think about the places i'd go&lt;br /&gt;  I think about this place i call home&lt;br /&gt;  All the shots and all that come&lt;br /&gt;  all around all around&lt;/p&gt;&lt;p class="mobile-post"&gt;  Red light blinking in the twighlight&lt;br /&gt;  tracing in a path right out of here and now&lt;br /&gt;  Red light blinking in the twighlight&lt;br /&gt;  tracing in a path right out of here and now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Baby, Baby i think its time we move on now&lt;br /&gt;  Baby, Baby i think its time we move on now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Don't you think its quiet around here&lt;br /&gt;  Doesn't seem so much to do here&lt;br /&gt;  Thinking back to this time last year&lt;br /&gt;  Good times good times good times&lt;br /&gt;  Don't you think we stay for too long&lt;br /&gt;  Don't you think the colour has gone&lt;br /&gt;  Get on a plane it can't be wrong&lt;br /&gt;  Moving on, Moving on&lt;/p&gt;&lt;p class="mobile-post"&gt;  Red light blinking in the twighlight&lt;br /&gt;  tracing in a path right out of here and now&lt;br /&gt;  Red light blinking in the twighlight&lt;br /&gt;  tracing in a path right out of here and now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Baby, Baby i think its time we move on now&lt;br /&gt;  Baby, Baby i think its time we move on now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Baby, Baby i think its time we move on now&lt;br /&gt;  Baby, Baby i think its time we move on now&lt;br /&gt;  Baby, Baby&lt;br /&gt;  Baby, Baby&lt;br /&gt;  Baby, Baby i think its time we move on now&lt;/p&gt;&lt;p class="mobile-post"&gt;  Those things they look empty&lt;br /&gt;  But wait til it all comes down&lt;br /&gt;  Nothings going on round here&lt;br /&gt;  Its time we let it change&lt;br /&gt;  Got a feeling my love&lt;br /&gt;  We've gotta get out&lt;br /&gt;  Before it brings us down (down down)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114550112063650835?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114550112063650835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114550112063650835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114550112063650835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114550112063650835'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/move-on-now-baby-baby-i-think-its-time.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114511134467887430</id><published>2006-04-15T07:29:00.000-07:00</published><updated>2006-04-15T07:29:06.120-07:00</updated><title type='text'>%butterfly</title><content type='html'>&lt;p class="mobile-post"&gt;%butterfly&lt;br /&gt;clear;clc;&lt;br /&gt;z=[-0.5,0.1];&lt;br /&gt;dz=[1e-9,0];&lt;/p&gt;&lt;p class="mobile-post"&gt;z1=[0,0];&lt;br /&gt;z2=[0,0];&lt;br /&gt;z0=[0,0];&lt;br /&gt;tz=[0,0];&lt;/p&gt;&lt;p class="mobile-post"&gt;%#dz&lt;br /&gt;N=1e7;&lt;br /&gt;%#二分&lt;br /&gt;n=1e5;&lt;/p&gt;&lt;p class="mobile-post"&gt;sita=0:pi/20:2*pi;&lt;br /&gt;        plot(cos(sita)/3,sin(sita)/3);&lt;br /&gt;hold all;&lt;/p&gt;&lt;p class="mobile-post"&gt;while(N&amp;gt;0)&lt;br /&gt;     N=N-1;&lt;br /&gt;     %edge&lt;br /&gt;     tz=z+dz;&lt;br /&gt;     if tz(1)&amp;gt;1/2&lt;br /&gt;         tz(1)=tz(1)-1;&lt;br /&gt;     elseif tz(1)&amp;lt;-1/2&lt;br /&gt;         tz(1)=tz(1)+1;&lt;br /&gt;     end&lt;br /&gt;     if tz(2)&amp;gt;1/2&lt;br /&gt;         tz(2)=tz(2)-1;&lt;br /&gt;     elseif tz(2)&amp;lt;-1/2&lt;br /&gt;         tz(2)=tz(2)+1;&lt;br /&gt;     end&lt;br /&gt;     %collapse&lt;br /&gt;     if(norm(3*z)&amp;gt;=1 &amp;amp;&amp;amp; norm(3*tz)&amp;lt;1)&lt;br /&gt;         n=1e5;&lt;br /&gt;         z1=z;&lt;br /&gt;         z2=tz;&lt;/p&gt;&lt;p class="mobile-post"&gt;         while(n&amp;gt;0)&lt;br /&gt;             n=n-1;&lt;br /&gt;             %do erfen&lt;br /&gt;             z0=(z1+z2)/2;&lt;/p&gt;&lt;p class="mobile-post"&gt;         end&lt;br /&gt;     end&lt;/p&gt;&lt;p class="mobile-post"&gt;plot(z(1),z(2),'.');&lt;br /&gt;end&lt;/p&gt;&lt;p class="mobile-post"&gt;xlim([-1/2,1/2]);&lt;br /&gt;ylim([-1/2,1/2]);&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114511134467887430?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114511134467887430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114511134467887430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114511134467887430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114511134467887430'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/butterfly.html' title='%butterfly'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114506575674495093</id><published>2006-04-14T18:49:00.000-07:00</published><updated>2006-04-14T18:49:16.793-07:00</updated><title type='text'>Merssenger backUp</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;br /&gt;rar a -xC:\Merssenger\backUp -agYYYY{年}MM{月}DD{日}HH{_}MM 备份 @list.txt&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114506575674495093?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114506575674495093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114506575674495093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114506575674495093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114506575674495093'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/merssenger-backup.html' title='Merssenger backUp'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114446303445402571</id><published>2006-04-07T19:23:00.000-07:00</published><updated>2006-04-07T19:23:54.696-07:00</updated><title type='text'>Fwd:ASP.NET 2.0 正式版中无刷新页面的开发</title><content type='html'>&lt;div class="feedContent"&gt; &lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt; 						&lt;a class="" title="" href="http://www.cnblogs.com/Files/pfzhou/Callback.rar" target=""&gt;示例代码下载4K&lt;/a&gt; 						&lt;br /&gt;   在已经发布的&lt;/span&gt; 				&lt;span lang="EN-US"&gt;ASP.NET2.0&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;中，无刷新页面开发相关部分同&lt;/span&gt; 				&lt;span lang="EN-US"&gt;beta2&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;有不少改动。而且在越来越多的&lt;/span&gt; 				&lt;span lang="EN-US"&gt;Ajax&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;开发包被开发出来的情况下，&lt;/span&gt; 				&lt;span lang="EN-US"&gt;ASP.NET2.0&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;自带的无刷新页面技术没有被很多人了解，甚至不少人认为该功能有些“鸡肋”。但如果我们仅仅是在程序中加入很少部分的&lt;/span&gt; 				&lt;span lang="EN-US"&gt;Ajax&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;特性，&lt;/span&gt; 				&lt;span lang="EN-US"&gt;Atlas&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;、&lt;/span&gt; 				&lt;span lang="EN-US"&gt;Ajax.Net&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;等就显得有些“杀鸡用牛刀”的感觉了。而且，我认为使用&lt;/span&gt; 				&lt;span lang="EN-US"&gt;ASP.NET2.0&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;提供的方法进行开发并不很复杂，相反，使用很少的代码就可以做出来很棒的效果！&lt;/span&gt; 		&lt;/p&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt; 						&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;   &lt;/span&gt;下面我来一步一步的带大家开发无刷新的页面！&lt;/span&gt; 		&lt;/p&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;strong&gt; 						&lt;span class="Char0"&gt; 								&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt; 										&lt;font face="宋体"&gt; 第一步：实现&lt;/font&gt; 								&lt;/span&gt; 						&lt;/span&gt; 						&lt;span class="RGB051153Char"&gt; 								&lt;span lang="EN-US" style="FONT-SIZE: 14pt; COLOR: blue; LINE-HEIGHT: 150%; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 宋体"&gt;ICallbackEventHandler&lt;/span&gt; 						&lt;/span&gt; 						&lt;font face="宋体"&gt; 								&lt;span class="Char0"&gt; 										&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;接口&lt;/span&gt; 								&lt;/span&gt; 								&lt;span class="Char0"&gt; 										&lt;span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 宋体"&gt; 												&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?&gt; 												&lt;o:p&gt; 												&lt;/o:p&gt; 										&lt;/span&gt; 								&lt;/span&gt; 						&lt;/font&gt; 				&lt;/strong&gt; 		&lt;/p&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?&gt; 				&lt;v:shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"&gt; 						&lt;v:stroke joinstyle="miter"&gt; 						&lt;/v:stroke&gt; 						&lt;v:path o:connecttype="rect" gradientshapeok="t"&gt; 						&lt;/v:path&gt; 				&lt;/v:shapetype&gt;   &lt;span lang="EN-US"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/T_System_Web_UI_ICallbackEventHandler.htm"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;ICallbackEventHandler&lt;/span&gt;&lt;span style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: windowtext; FONT-FAMILY: 宋体; TEXT-DECORATION: none; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;span lang="EN-US"&gt;接口&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;位于&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/N_System_Web_UI.htm"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;System.Web.UI&lt;/span&gt;&lt;span style="COLOR: #003399; TEXT-DECORATION: none; text-underline: none"&gt;&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: windowtext; FONT-FAMILY: 宋体; TEXT-DECORATION: none; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;span lang="EN-US"&gt;命名空间&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;下。在&lt;/span&gt;&lt;span lang="EN-US"&gt;beta2&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;时，&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue"&gt;ICallbackEventHandler&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;只包含一个&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/M_System_Web_UI_ICallbackEventHandler_RaiseCallbackEvent_1_16219e3a.htm"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;RaiseCallbackEvent&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;方法，即处理回调事件，又返回处理结果。在正式版中，它变成了包含&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/M_System_Web_UI_ICallbackEventHandler_GetCallbackResult.htm"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;GetCallbackResult&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;和&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/M_System_Web_UI_ICallbackEventHandler_RaiseCallbackEvent_1_16219e3a.htm"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;RaiseCallbackEvent&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;两个成员方法，第一个用来返回回调事件的结果，第二个用来出来回调事件。这个变化主要是为了编写&lt;/span&gt;&lt;span lang="EN-US"&gt;Web&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;控件而做的改动，具体可以看一下&lt;/span&gt;&lt;span lang="EN-US"&gt;GridView&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;等控件中的实现代码。&lt;/span&gt;&lt;/p&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;建立一个&lt;/span&gt; 				&lt;span lang="EN-US"&gt;Web&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;网站，我们来修改&lt;/span&gt; 				&lt;span lang="EN-US"&gt;default.aspx.cs&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;文件：&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; 		&lt;/p&gt; 		&lt;div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"&gt; 				&lt;span style="COLOR: #008080"&gt; 						&lt;span style="COLOR: #008080"&gt; 1&lt;/span&gt; 						&lt;font color="#000000"&gt; 								&lt;font style="BACKGROUND-COLOR: #eeeeee"&gt; &lt;/font&gt; 								&lt;span style="COLOR: #000000"&gt;    &lt;/span&gt; 						&lt;/font&gt; 				&lt;/span&gt; 				&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt; 				&lt;span style="COLOR: #000000"&gt; partial &lt;/span&gt; 				&lt;span style="COLOR: #0000ff"&gt;class&lt;/span&gt; 				&lt;span style="COLOR: #000000"&gt; _Default : System.Web.UI.Page, ICallbackEventHandler&lt;/span&gt; 		&lt;/div&gt; 		&lt;br /&gt; 		&lt;div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"&gt; 				&lt;span style="COLOR: #008080"&gt; 1&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;private&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; str;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 2&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;void&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; RaiseCallbackEvent(&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; eventArgument)&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 3&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    {&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 4&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;        &lt;/span&gt;&lt;span style="COLOR: #008000"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;可以根据传递的参数不同，调用不同的处理逻辑&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 5&lt;/span&gt; &lt;span style="COLOR: #008000"&gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;        str &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;从服务器端返回的内容：&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;/span&gt;&lt;span style="COLOR: #000000"&gt;+&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; eventArgument;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 6&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 7&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 8&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;public&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; GetCallbackResult()&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 9&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    {&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;10&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;        &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;return&lt;/span&gt;&lt;span style="COLOR: #000000"&gt; str;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;11&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;12&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;&lt;/span&gt;&lt;/div&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;strong&gt; 						&lt;font face="宋体"&gt; 								&lt;span class="Char0"&gt; 										&lt;span style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;  第二步：注册回调方法&lt;/span&gt; 								&lt;/span&gt; 								&lt;span class="Char0"&gt; 										&lt;span lang="EN-US" style="FONT-SIZE: 14pt; LINE-HEIGHT: 150%; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 宋体"&gt; 												&lt;o:p&gt; 												&lt;/o:p&gt; 										&lt;/span&gt; 								&lt;/span&gt; 						&lt;/font&gt; 				&lt;/strong&gt; 		&lt;/p&gt; 		&lt;v:shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"&gt; 				&lt;v:stroke joinstyle="miter"&gt; 				&lt;/v:stroke&gt; 				&lt;v:path o:connecttype="rect" gradientshapeok="t"&gt; 				&lt;/v:path&gt; 		&lt;/v:shapetype&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;   我们在&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;default.aspx&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;页面中添加一个&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;TextBox&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;，一个&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;Label&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;和一个&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;Html&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;控件&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;Button&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;，并给&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;Button&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;添加&lt;/span&gt; 		&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; COLOR: blue; FONT-FAMILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;onclick&lt;/span&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"&gt;事件：&lt;br /&gt;&lt;div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"&gt;&lt;span style="COLOR: #008080"&gt;1&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;asp:TextBox &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="TextBox1"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; runat&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;asp:TextBox&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;2&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;input &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;id&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Button1"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="button"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; value&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="提交到Label1"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; onclick&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="CallServer(TextBox1, Label1)"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;br/&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;3&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;asp:Label &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;ID&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Label1"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; runat&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="server"&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; Text&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="Label1:"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;asp:Label&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;4&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt; 		&lt;br /&gt; 		&lt;div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"&gt; 				&lt;span style="COLOR: #008080"&gt; 1&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;    &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;script &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;type&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;="text/javascript"&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 2&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;       &lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;由button调用&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 3&lt;/span&gt; &lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;       &lt;/span&gt;&lt;span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; CallServer(inputcontrol, context)&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 4&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;       { &lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 5&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;            context.innerHTML &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;Loading&lt;img src="http://www.cnblogs.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 6&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;            arg &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; inputcontrol.value;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 7&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;            &lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;注册回调方法&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 8&lt;/span&gt; &lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;            &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;&amp;lt;%=&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; ClientScript.GetCallbackEventReference(&lt;/span&gt;&lt;span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"&gt;this&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;arg&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;ReceiveServerData&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;context&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;; &lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt; 9&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;10&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;        &lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;//&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;在回调方法中注册的接收返回结果的函数&lt;/span&gt;&lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;11&lt;/span&gt; &lt;span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"&gt;&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;        &lt;/span&gt;&lt;span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5"&gt;function&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; ReceiveServerData(result, context) &lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;12&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;        {&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;13&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;            context.innerHTML &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; result;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;14&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;15&lt;/span&gt; &lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;    &lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;script&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;16&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;&lt;/span&gt;&lt;/div&gt; 		&lt;br /&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;v:shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"&gt; 						&lt;v:stroke joinstyle="miter"&gt; 						&lt;/v:stroke&gt; 						&lt;v:path o:connecttype="rect" gradientshapeok="t"&gt; 						&lt;/v:path&gt; 				&lt;/v:shapetype&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;   好了，一个无刷新的页面就开发完了，它可以将你在&lt;/span&gt; 				&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;TextBox&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中输入的文字，通过服务器代码写回到页面的&lt;/span&gt; 				&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;Label&lt;/span&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中。是不是很简单？你可以运行一下你的程序看看效果啦！&lt;/span&gt; 				&lt;span lang="EN-US" style="mso-no-proof: yes"&gt; 						&lt;o:p&gt; 						&lt;/o:p&gt; 				&lt;/span&gt; 		&lt;/p&gt; 		&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt; 				&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;   下面我们来分析一下这些代码。&lt;/span&gt; 				&lt;span lang="EN-US" style="mso-no-proof: yes"&gt; 						&lt;o:p&gt; 						&lt;/o:p&gt; 				&lt;/span&gt; 		&lt;/p&gt; 		&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;   首先，我们看&lt;br /&gt;&lt;div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;=&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt; ClientScript.GetCallbackEventReference(this, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;arg&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;ReceiveServerData&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;, &lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;context&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;"&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"&gt;)&lt;/span&gt;&lt;span style="COLOR: #000000; BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;ClientScript&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;是&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;System.Web.UI.Page&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;对象的一个属性，它是&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;System.Web.UI.ClientScriptManager&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;对象。用于管理客户端脚本，&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;GetCallbackEventReference&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;方法用于注册一个服务器端事件的客户端回调。它的第四个参数“&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;”非常重要，但在&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中并没有相关的例子和详细的说明。在我上面给的代码中可以看到，调用&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;CallServer&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;方法时，传递的&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;参数就是&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Label1&lt;/font&gt;&lt;/span&gt;&lt;span style="COLOR: blue; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;，&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;而&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;ReceiveServerData&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;的第二个参数“&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;”就是被传递过来的&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Label1&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;。在我的例子中，&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;被我用于设定一个用来显示服务端返回结果的控件。其实，你可以将任意的对象赋值给&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;，它都会被传递给本地端处理回调返回结果的函数，这样，你就可以根据调用前指定的“上下文”灵活的操作返回结果了！在我给出的完整例子中，你可以看到一个使用&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;做的无刷新显示&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;GridView&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;的例子。&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;在这里我要说个题外话，&lt;/span&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;这么重要的参数在&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中不但没有详细的说明，而且&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;VS2005&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中文正式版&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中关于回调的例子竟然还是&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;beta2&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;时的实现！这个版本的&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSDN&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;可以说是我用过的版本中品质最差的。不过现在的&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSND&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;可以用“相当”庞大来形容，出错也是在所难免的，希望下个版本的&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;MSND&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;会好一些。&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;OK&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;，在&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;ASP.NET 2.0&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;中开发具有&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Ajax&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;特性的东东不难吧！其实就是两步：&lt;/span&gt;&lt;/font&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -39pt; mso-list: l0 level1 lfo1; tab-stops: list 60.0pt"&gt;&lt;span lang="EN-US" style="mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;1、&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;              &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;在&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;Server&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;端实现&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;a href="ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref13/html/T_System_Web_UI_ICallbackEventHandler.htm"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="TEXT-DECORATION: none; text-underline: none"&gt;ICallbackEventHandler&lt;/span&gt;&lt;span style="COLOR: windowtext; TEXT-DECORATION: none; text-underline: none"&gt;&lt;/span&gt;&lt;/font&gt;&lt;span lang="EN-US" style="COLOR: windowtext; FONT-FAMILY: 宋体; TEXT-DECORATION: none; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; text-underline: none"&gt;&lt;span lang="EN-US"&gt;接口&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，在接口包含的方法中根据传递的参数分别调用不同的处理方法，然后返回结果；&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -39pt; mso-list: l0 level1 lfo1; tab-stops: list 60.0pt"&gt;&lt;span lang="EN-US" style="mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;2、&lt;/font&gt;&lt;span style="FONT: 7pt 'Times New Roman'"&gt;              &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;在&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Client&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;端注册回调函数（当然你也可以在&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Server&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;端注册），然后实现处理回调结果的函数。其中，如果对&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Context&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;能干灵活运行，你就可以做出非常好的效果了。&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;在我给出的完整例子中，你们可以看到更完整的处理逻辑和更漂亮的特效，当然，增加的代码还是很少的！&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;font face="Times New Roman" size="3"&gt; &lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;有将近一年没有写&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Blog&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;了，手也比较生了。以前&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;cnblogs&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的文章我是基本上天天都看的，现在一两个星期看一次就不错了，还是走马观花的浏览几篇而已。如今每天都是为了生活而奔波，人在江湖，身不由己呀！&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-no-proof: yes"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span lang="EN-US" style="COLOR: blue; mso-no-proof: yes"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-no-proof: yes"&gt;&lt;font color="#000000"&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;发了半天牢骚，我也预告一下，我会在最近写一些介绍&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Atlas&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的文章。其实&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Atlas&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;也有很多人都写过了，不过大都是根据官方文档的模式写的，而最近发布的几版&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;CTP&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;变化挺大的（实现的功能也比较诱人！），对新特性介绍的文章比较少，所以我就来献丑了，希望对大家使用&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font face="Times New Roman"&gt;Atlas&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;有所帮助。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="a" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;/p&gt;&lt;/span&gt;&lt;img src ="http://pfzhou.cnblogs.com/aggbug/363342.html" width = "1" height = "1" /&gt;&lt;br&gt;&lt;br&gt;&lt;div align=right&gt;Leon.Zhou 2006-03-31 10:47 &lt;/div&gt; &lt;/div&gt; &lt;p&gt;&lt;a href="http://pfzhou.cnblogs.com/archive/2006/03/31/363342.html"&gt;http://pfzhou.cnblogs.com/archive/2006/03/31/363342.html&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;&lt;/p&gt;&lt;p class="mobile-post"&gt;------- 转发的邮件 -------&lt;br /&gt;寄件人: "Leon.Zhou" &amp;lt;&amp;gt;&lt;br /&gt;收件人:&lt;br /&gt;抄送:&lt;br /&gt;主题: ASP.NET 2.0 正式版中无刷新页面的开发&lt;br /&gt;日期: Fri, 31 Mar 2006 10:47:00 +0800&lt;/p&gt;&lt;p class="mobile-post"&gt;示例代码 下载4K&lt;br /&gt;在已经发布的 ASP.NET2.0 中，无刷新页面开发相关部 分同 beta2 有不少改动。而且在越来越 多的 Ajax 开发包被开发出来的情况 下， ASP.NET2.0&lt;br /&gt;自带的无刷新页面技术没有 被很多人了解，甚至不少人认为该功能有些“鸡肋”。但如果我们仅仅是在程序中加入 很少部分的 Ajax 特性， Atlas 、 Ajax.Net&lt;br /&gt;等就显得有些“杀鸡用牛刀” 的感觉了。而且，我认为使用 ASP.NET2.0 提供的方法进行开发并不很 复杂，相反，使用很少的代码就可以做出来很棒的效果！&lt;/p&gt;&lt;p class="mobile-post"&gt;下面我来一步一 步的带大家开发无刷新的页面！&lt;/p&gt;&lt;p class="mobile-post"&gt;第一步：实现 ICallbackEventHandler 接口&lt;/p&gt;&lt;p class="mobile-post"&gt;ICallbackEventHandler接口 位于System.Web.UI命名空间 下。在beta2时，ICallbackEventHandler只包含一个RaiseCallbackEvent方法，即处理回调事件，又返回处理结果。在正式版中，它变成了包含&lt;br /&gt;GetCallbackResult和RaiseCallbackEvent两个成员方法，第一个用来返回回调事件的结果，第二个用来出来回调 事件。这个变化主要是为了编写Web控件而做的改动，具体可以看一下&lt;br /&gt;GridView等控件中的实现代码。&lt;/p&gt;&lt;p class="mobile-post"&gt;建立一个 Web 网站，我们来修改 default.aspx.cs 文件：&lt;/p&gt;&lt;p class="mobile-post"&gt;1 public partial class _Default : System.Web.UI.Page, ICallbackEventHandler&lt;/p&gt;&lt;p class="mobile-post"&gt;1 private string str;&lt;br /&gt;2 public void RaiseCallbackEvent(string eventArgument)&lt;br /&gt;3 {&lt;br /&gt;4 //可以根据传递的参数不同，调用 不同的处理逻辑&lt;br /&gt;5 str = "从服务器端返回的内 容：" + eventArgument;&lt;br /&gt;6 }&lt;br /&gt;7&lt;br /&gt;8 public string GetCallbackResult()&lt;br /&gt;9 {&lt;br /&gt;10 return str;&lt;br /&gt;11 }&lt;br /&gt;12&lt;/p&gt;&lt;p class="mobile-post"&gt;第二步：注册回调方法&lt;/p&gt;&lt;p class="mobile-post"&gt;我们在 default.aspx 页面中添加一个 TextBox ，一个 Label 和一个 Html 控件 Button ，并给 Button 添加&lt;br /&gt;onclick 事件：&lt;/p&gt;&lt;p class="mobile-post"&gt;1 &amp;lt;asp:TextBox ID="TextBox1" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;2 &amp;lt;input id="Button1" type="button" value="提交到Label1" onclick="CallServer(TextBox1,&lt;br /&gt;Label1)"/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;3 &amp;lt;asp:Label ID="Label1" runat="server" Text="Label1:"&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;4&lt;/p&gt;&lt;p class="mobile-post"&gt;1 &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;2 //由button调用&lt;br /&gt;3 function CallServer(inputcontrol, context)&lt;br /&gt;4 {&lt;br /&gt;5 context.innerHTML = "Loading";&lt;br /&gt;6 arg = inputcontrol.value;&lt;br /&gt;7 //注册回调方法&lt;br /&gt;8 &amp;lt;%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context")%&amp;gt;;&lt;br /&gt;9 }&lt;br /&gt;10 //在回调方法中注册的接收返回结果的函数&lt;br /&gt;11 function ReceiveServerData(result, context)&lt;br /&gt;12 {&lt;br /&gt;13 context.innerHTML = result;&lt;br /&gt;14 }&lt;br /&gt;15 &amp;lt;/script&amp;gt;&lt;br /&gt;16&lt;/p&gt;&lt;p class="mobile-post"&gt;好 了，一个无刷新的页面就开发完了，它可以将你在 TextBox 中输入 的文字，通过服务器代码写回到页面的 Label 中。是 不是很简单？你可以运行一下你的程序看看效果啦！&lt;/p&gt;&lt;p class="mobile-post"&gt;下 面我们来分析一下这些代码。&lt;/p&gt;&lt;p class="mobile-post"&gt;首先，我们看&lt;/p&gt;&lt;p class="mobile-post"&gt;&amp;lt;%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context")%&amp;gt;;&lt;/p&gt;&lt;p class="mobile-post"&gt;ClientScript是 System.Web.UI.Page对象的一个属 性，它是System.Web.UI.ClientScriptManager对象。用于管理&lt;br /&gt;客户端脚本，GetCallbackEventReference方法用于注册一个服务器端事件的客户端 回调。它的第四个参数“Context”非常重要，但 在MSDN中并没有相关的例子和详细的说明。在我上面给的&lt;br /&gt;代码中可以看到，调用CallServer方法时，传递的Context参数就是Label1，而ReceiveServerData的第二个参数“Context”就是被传递过来的Label1。在我的例子中，Context&lt;/p&gt;&lt;p class="mobile-post"&gt;http://pfzhou.cnblogs.com/archive/2006/03/31/363342.html&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114446303445402571?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114446303445402571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114446303445402571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114446303445402571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114446303445402571'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/fwdaspnet-20.html' title='Fwd:ASP.NET 2.0 正式版中无刷新页面的开发'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114428831852184028</id><published>2006-04-05T18:51:00.000-07:00</published><updated>2006-04-05T18:51:58.570-07:00</updated><title type='text'>清明时节雨纷纷</title><content type='html'>&lt;p class="mobile-post"&gt;&lt;br /&gt;清明时节雨纷纷，路上行人欲断魂。&lt;br /&gt;借问酒家何处有？牧童遥指杏花村。&lt;/p&gt;&lt;p class="mobile-post"&gt;----（唐）杜 牧&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114428831852184028?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114428831852184028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114428831852184028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114428831852184028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114428831852184028'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/04/blog-post.html' title='清明时节雨纷纷'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114329250681324280</id><published>2006-03-25T05:15:00.000-08:00</published><updated>2006-03-25T05:15:07.840-08:00</updated><title type='text'> 博客园 - 虫子的一天 - 今天第一次使用Visual Studio 2005  </title><content type='html'>&lt;p class="mobile-post"&gt;&amp;lt;URL: http://wormday.cnblogs.com/archive/2006/01/09/314169.html &amp;gt;&lt;br /&gt;Mutex could not be created&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114329250681324280?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114329250681324280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114329250681324280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114329250681324280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114329250681324280'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/03/visual-studio-2005.html' title=' 博客园 - 虫子的一天 - 今天第一次使用Visual Studio 2005  '/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114328572085428499</id><published>2006-03-25T03:22:00.000-08:00</published><updated>2006-03-25T03:23:00.153-08:00</updated><title type='text'>processReceiveIM</title><content type='html'>&lt;p class="mobile-post"&gt;		ReceiveIMPacket msg=(ReceiveIMPacket)e.getSource();&lt;br /&gt;		&lt;br /&gt;		System.out.println(new String(msg.normalIM.messageBytes));&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114328572085428499?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114328572085428499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114328572085428499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114328572085428499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114328572085428499'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/03/processreceiveim.html' title='processReceiveIM'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114327670141610547</id><published>2006-03-25T00:51:00.000-08:00</published><updated>2006-03-25T00:51:41.446-08:00</updated><title type='text'></title><content type='html'>&lt;p class="mobile-post"&gt;100&lt;br /&gt;  1.274219991234930e+000&lt;br /&gt;200&lt;br /&gt;1.274223601353212e+000&lt;br /&gt;2000&lt;br /&gt;1.274224152228618e+000&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114327670141610547?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114327670141610547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114327670141610547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114327670141610547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114327670141610547'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/03/100-1.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114326771410963130</id><published>2006-03-24T22:21:00.000-08:00</published><updated>2006-03-24T22:21:54.150-08:00</updated><title type='text'>浙江工商大学统计精英网--[Matlab的函数及指令]</title><content type='html'>&lt;p class="mobile-post"&gt;  	&lt;br /&gt;  	类型：  搜索:  		&lt;br /&gt;  	&lt;br /&gt;  	&lt;br /&gt;  	&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;在线视频&lt;/p&gt;&lt;p class="mobile-post"&gt;职业测评&lt;/p&gt;&lt;p class="mobile-post"&gt;毕业专栏&lt;/p&gt;&lt;p class="mobile-post"&gt;内部二级网&lt;br /&gt;	&lt;br /&gt;	&lt;br /&gt;友情链接&lt;br /&gt;  		浙江工商大学	&lt;br /&gt;  		东北财大统计系	&lt;br /&gt;  		上海财经大学统计	&lt;br /&gt;  		中国人民大学统计系	&lt;br /&gt;  		北大数学科学学院 	&lt;br /&gt;  		中国统计信息教育网	&lt;br /&gt;  		中国统计信息网	&lt;br /&gt;  		浙江统计信息网	&lt;br /&gt;  		杭州市统计局	&lt;br /&gt;  		SPSS中国公司	&lt;br /&gt;  		零点指标网	&lt;br /&gt;  		中国经济统计教育科研网	&lt;/p&gt;&lt;p class="mobile-post"&gt;	&lt;br /&gt;   当前位置：[网上学堂]-&amp;gt;[Matlab应用]-&amp;gt;[Matlab的函数及指令]&lt;br /&gt;	 		&lt;br /&gt;  	&lt;br /&gt;  	&lt;br /&gt;Matlab的函数及指令&lt;/p&gt;&lt;p class="mobile-post"&gt;[更新时间]2005-6-11 15:56:59 [作者]统计精英&lt;br /&gt;  	&lt;/p&gt;&lt;p class="mobile-post"&gt;Matlab的函数及指令Functions and Commands&lt;br /&gt;A a&lt;br /&gt;abs                           绝对值、模、字符的ASCII码值&lt;br /&gt;acos                         反余弦&lt;br /&gt;acosh                       反双曲余弦&lt;br /&gt;acot                         反余切&lt;br /&gt;acoth                       反双曲余切&lt;br /&gt;acsc                         反余割&lt;br /&gt;acsch                       反双曲余割&lt;br /&gt;align                         启动图形对象几何位置排列工具&lt;br /&gt;all                            所有元素非零为真&lt;br /&gt;angle                        相角&lt;br /&gt;ans                           表达式计算结果的缺省变量名&lt;br /&gt;any                          所有元素非全零为真&lt;br /&gt;area                          面域图&lt;br /&gt;argnames 函数M文件宗量名&lt;br /&gt;asec                         反正割&lt;br /&gt;asech                       反双曲正割&lt;br /&gt;asin                          反正弦&lt;br /&gt;asinh                        反双曲正弦&lt;br /&gt;assignin                   向变量赋值&lt;br /&gt;atan                         反正切&lt;br /&gt;atan2                       四象限反正切&lt;br /&gt;atanh                       反双曲正切&lt;br /&gt;autumn                    红黄调秋色图阵&lt;br /&gt;axes                         创建轴对象的低层指令&lt;br /&gt;axis                          控制轴刻度和风格的高层指令&lt;br /&gt;B b&lt;br /&gt;bar                           二维直方图&lt;br /&gt;bar3                         三维直方图&lt;br /&gt;bar3h                       三维水平直方图&lt;br /&gt;barh                         二维水平直方图&lt;br /&gt;base2dec  X进制转换为十进制&lt;br /&gt;bin2dec                    二进制转换为十进制&lt;br /&gt;blanks                      创建空格串&lt;br /&gt;bone                        蓝色调黑白色图阵&lt;br /&gt;box                          框状坐标轴&lt;br /&gt;break                       while  或for 环中断指令&lt;br /&gt;brighten                   亮度控制&lt;br /&gt;C c&lt;br /&gt;capture                    （3版以前）捕获当前图形&lt;br /&gt;cart2pol                   直角坐标变为极或柱坐标&lt;br /&gt;cart2sph                  直角坐标变为球坐标&lt;br /&gt;cat                           串接成高维数组&lt;br /&gt;caxis                        色标尺刻度&lt;br /&gt;cd                            指定当前目录&lt;br /&gt;cdedit                      启动用户菜单、控件回调函数设计工具&lt;br /&gt;cdf2rdf                    复数特征值对角阵转为实数块对角阵&lt;br /&gt;ceil                           向正无穷取整&lt;br /&gt;cell                           创建元胞数组&lt;br /&gt;cell2struct               元胞数组转换为构架数组&lt;br /&gt;celldisp                    显示元胞数组内容&lt;br /&gt;cellplot                    元胞数组内部结构图示&lt;br /&gt;char                         把数值、符号、内联类转换为字符对象&lt;br /&gt;chi2cdf                    分布累计概率函数&lt;br /&gt;chi2inv                    分布逆累计概率函数&lt;br /&gt;chi2pdf                    分布概率密度函数&lt;br /&gt;chi2rnd                    分布随机数发生器&lt;br /&gt;chol                         Cholesky分解&lt;br /&gt;clabel                       等位线标识&lt;br /&gt;cla                            清除当前轴&lt;br /&gt;class                        获知对象类别或创建对象&lt;br /&gt;clc                            清除指令窗&lt;br /&gt;clear                         清除内存变量和函数&lt;br /&gt;clf                            清除图对象&lt;br /&gt;clock                        时钟&lt;br /&gt;colorcube                 三浓淡多彩交叉色图矩阵&lt;br /&gt;colordef                   设置色彩缺省值&lt;br /&gt;colormap 色图&lt;br /&gt;colspace                  列空间的基&lt;br /&gt;close                        关闭指定窗口&lt;br /&gt;colperm                   列排序置换向量&lt;br /&gt;comet                      彗星状轨迹图&lt;br /&gt;comet3                    三维彗星轨迹图&lt;br /&gt;compass                  射线图&lt;br /&gt;compose                  求复合函数&lt;br /&gt;cond                        （逆）条件数&lt;br /&gt;condeig                    计算特征值、特征向量同时给出条件数&lt;br /&gt;condest                    范 –1条件数估计&lt;br /&gt;conj                         复数共轭&lt;br /&gt;contour                    等位线&lt;br /&gt;contourf 填色等位线&lt;br /&gt;contour3 三维等位线&lt;br /&gt;contourslice             四维切片等位线图&lt;br /&gt;conv                        多项式乘、卷积&lt;br /&gt;cool                         青紫调冷色图&lt;br /&gt;copper                     古铜调色图&lt;br /&gt;cos                           余弦&lt;br /&gt;cosh                         双曲余弦&lt;br /&gt;cot                           余切&lt;br /&gt;coth                         双曲余切&lt;br /&gt;cplxpair                   复数共轭成对排列&lt;br /&gt;csc                           余割&lt;br /&gt;csch                         双曲余割&lt;br /&gt;cumsum                   元素累计和&lt;br /&gt;cumtrapz 累计梯形积分&lt;br /&gt;cylinder                   创建圆柱&lt;br /&gt;D d&lt;br /&gt;dblquad                   二重数值积分&lt;br /&gt;deal                          分配宗量&lt;br /&gt;deblank                    删去串尾部的空格符&lt;br /&gt;dec2base  十进制转换为X进制&lt;br /&gt;dec2bin                    十进制转换为二进制&lt;br /&gt;dec2hex                   十进制转换为十六进制&lt;br /&gt;deconv                     多项式除、解卷&lt;br /&gt;delaunay Delaunay 三角剖分&lt;br /&gt;del2                         离散Laplacian差分&lt;br /&gt;demo                       Matlab演示&lt;br /&gt;det                           行列式&lt;br /&gt;diag                          矩阵对角元素提取、创建对角阵&lt;br /&gt;diary                        Matlab指令窗文本内容记录&lt;br /&gt;diff                          数值差分、符号微分&lt;br /&gt;digits                       符号计算中设置符号数值的精度&lt;br /&gt;dir                            目录列表&lt;br /&gt;disp                         显示数组&lt;br /&gt;display                    显示对象内容的重载函数&lt;br /&gt;dlinmod                   离散系统的线性化模型&lt;br /&gt;dmperm                   矩阵Dulmage-Mendelsohn 分解&lt;br /&gt;dos                          执行DOS 指令并返回结果&lt;br /&gt;double                     把其他类型对象转换为双精度数值&lt;br /&gt;drawnow 更新事件队列强迫Matlab刷新屏幕&lt;br /&gt;dsolve                      符号计算解微分方程&lt;br /&gt;  E e&lt;br /&gt;echo                         M文件被执行指令的显示&lt;br /&gt;edit                          启动M文件编辑器&lt;br /&gt;eig                            求特征值和特征向量&lt;br /&gt;eigs                          求指定的几个特征值&lt;br /&gt;end                          控制流FOR等结构体的结尾元素下标&lt;br /&gt;eps                          浮点相对精度&lt;br /&gt;error                        显示出错信息并中断执行&lt;br /&gt;errortrap                错误发生后程序是否继续执行的控制&lt;br /&gt;erf                            误差函数&lt;br /&gt;erfc                          误差补函数&lt;br /&gt;erfcx                        刻度误差补函数&lt;br /&gt;erfinv                       逆误差函数&lt;br /&gt;errorbar                   带误差限的曲线图&lt;br /&gt;etreeplot                  画消去树&lt;br /&gt;eval                          串演算指令&lt;br /&gt;evalin                       跨空间串演算指令&lt;br /&gt;exist                         检查变量或函数是否已定义&lt;br /&gt;exit                          退出Matlab环境&lt;br /&gt;exp                          指数函数&lt;br /&gt;expand                     符号计算中的展开操作&lt;br /&gt;expint                      指数积分函数&lt;br /&gt;expm                       常用矩阵指数函数&lt;br /&gt;expm1                     Pade法求矩阵指数&lt;br /&gt;expm2                     Taylor法求矩阵指数&lt;br /&gt;expm3                     特征值分解法求矩阵指数&lt;br /&gt;eye                          单位阵&lt;br /&gt;ezcontour                画等位线的简捷指令&lt;br /&gt;ezcontourf               画填色等位线的简捷指令&lt;br /&gt;ezgraph3 画表面图的通用简捷指令&lt;br /&gt;ezmesh                    画网线图的简捷指令&lt;br /&gt;ezmeshc                  画带等位线的网线图的简捷指令&lt;br /&gt;ezplot                      画二维曲线的简捷指令&lt;br /&gt;ezplot3                    画三维曲线的简捷指令&lt;br /&gt;ezpolar                    画极坐标图的简捷指令&lt;br /&gt;ezsurf                      画表面图的简捷指令&lt;br /&gt;ezsurfc                    画带等位线的表面图的简捷指令&lt;br /&gt;F f&lt;br /&gt;factor                       符号计算的因式分解&lt;br /&gt;feather                     羽毛图&lt;br /&gt;feedback  反馈连接&lt;br /&gt;feval                        执行由串指定的函数&lt;br /&gt;fft                            离散Fourier变换&lt;br /&gt;fft2                          二维离散Fourier变换&lt;br /&gt;fftn                          高维离散Fourier变换&lt;br /&gt;fftshift                     直流分量对中的谱&lt;br /&gt;fieldnames               构架域名&lt;br /&gt;figure                       创建图形窗&lt;br /&gt;fill3                          三维多边形填色图&lt;br /&gt;find                          寻找非零元素下标&lt;br /&gt;findobj                     寻找具有指定属性的对象图柄&lt;br /&gt;findstr                     寻找短串的起始字符下标&lt;br /&gt;findsym                   机器确定内存中的符号变量&lt;br /&gt;finverse                   符号计算中求反函数&lt;br /&gt;fix                            向零取整&lt;br /&gt;flag                          红白蓝黑交错色图阵&lt;br /&gt;fliplr                        矩阵的左右翻转&lt;br /&gt;flipud                      矩阵的上下翻转&lt;br /&gt;flipdim                    矩阵沿指定维翻转&lt;br /&gt;floor                        向负无穷取整&lt;br /&gt;flops                        浮点运算次数&lt;br /&gt;flow                         Matlab提供的演示数据&lt;br /&gt;fmin                         求单变量非线性函数极小值点（旧版）&lt;br /&gt;fminbnd                   求单变量非线性函数极小值点&lt;br /&gt;fmins                       单纯形法求多变量函数极小值点（旧版）&lt;br /&gt;fminunc                   拟牛顿法求多变量函数极小值点&lt;br /&gt;fminsearch               单纯形法求多变量函数极小值点&lt;br /&gt;fnder                        对样条函数求导&lt;br /&gt;fnint                        利用样条函数求积分&lt;br /&gt;fnval                        计算样条函数区间内任意一点的值&lt;br /&gt;fnplt                        绘制样条函数图形&lt;br /&gt;fopen                       打开外部文件&lt;br /&gt;for                           构成for环用&lt;br /&gt;format                     设置输出格式&lt;br /&gt;fourier                     Fourier 变换&lt;br /&gt;fplot                        返函绘图指令&lt;br /&gt;fprintf                     设置显示格式&lt;br /&gt;fread                        从文件读二进制数据&lt;br /&gt;fsolve                      求多元函数的零点&lt;br /&gt;full                           把稀疏矩阵转换为非稀疏阵&lt;br /&gt;funm                        计算一般矩阵函数&lt;br /&gt;funtool                    函数计算器图形用户界面&lt;br /&gt;fzero                        求单变量非线性函数的零点&lt;br /&gt;G g&lt;br /&gt;gamma                     函数&lt;br /&gt;gammainc                不完全 函数&lt;br /&gt;gammaln  函数的对数&lt;br /&gt;gca                           获得当前轴句柄&lt;br /&gt;gcbo                         获得正执行“回调”的对象句柄&lt;br /&gt;gcf                           获得当前图对象句柄&lt;br /&gt;gco                           获得当前对象句柄&lt;br /&gt;geomean  几何平均值&lt;br /&gt;get                           获知对象属性&lt;br /&gt;getfield                    获知构架数组的域&lt;br /&gt;getframe                  获取影片的帧画面&lt;br /&gt;ginput                      从图形窗获取数据&lt;br /&gt;global                       定义全局变量&lt;br /&gt;gplot                        依图论法则画图&lt;br /&gt;gradient                   近似梯度&lt;br /&gt;gray                         黑白灰度&lt;br /&gt;grid                          画分格线&lt;br /&gt;griddata                   规则化数据和曲面拟合&lt;br /&gt;gtext                        由鼠标放置注释文字&lt;br /&gt;guide                        启动图形用户界面交互设计工具&lt;br /&gt;H h&lt;br /&gt;harmmean                调和平均值&lt;br /&gt;help                         在线帮助&lt;br /&gt;helpwin                   交互式在线帮助&lt;br /&gt;helpdesk                  打开超文本形式用户指南&lt;br /&gt;hex2dec                   十六进制转换为十进制&lt;br /&gt;hex2num  十六进制转换为浮点数&lt;br /&gt;hidden                     透视和消隐开关&lt;br /&gt;hilb                          Hilbert矩阵&lt;br /&gt;hist                          频数计算或频数直方图&lt;br /&gt;histc                        端点定位频数直方图&lt;br /&gt;histfit                      带正态拟合的频数直方图&lt;br /&gt;hold                         当前图上重画的切换开关&lt;br /&gt;horner                      分解成嵌套形式&lt;br /&gt;hot                           黑红黄白色图&lt;br /&gt;hsv                          饱和色图&lt;br /&gt;I i&lt;br /&gt;if-else-elseif             条件分支结构&lt;br /&gt;ifft                           离散Fourier反变换&lt;br /&gt;ifft2                         二维离散Fourier反变换&lt;br /&gt;ifftn                         高维离散Fourier反变换&lt;br /&gt;ifftshift                    直流分量对中的谱的反操作&lt;br /&gt;ifourier                    Fourier反变换&lt;br /&gt;i, j                            缺省的“虚单元”变量&lt;br /&gt;ilaplace                    Laplace反变换&lt;br /&gt;imag                         复数虚部&lt;br /&gt;image                       显示图象&lt;br /&gt;imagesc                    显示亮度图象&lt;br /&gt;imfinfo                    获取图形文件信息&lt;br /&gt;imread                     从文件读取图象&lt;br /&gt;imwrite                    把图象写成文件&lt;br /&gt;ind2sub                   单下标转变为多下标&lt;br /&gt;inf                            无穷大&lt;br /&gt;info                          MathWorks公司网点地址&lt;br /&gt;inline                       构造内联函数对象&lt;br /&gt;inmem                     列出内存中的函数名&lt;br /&gt;input                       提示用户输入&lt;br /&gt;inputname               输入宗量名&lt;br /&gt;int                            符号积分&lt;br /&gt;int2str                     把整数数组转换为串数组&lt;br /&gt;interp1                    一维插值&lt;br /&gt;interp2                    二维插值&lt;br /&gt;interp3                    三维插值&lt;br /&gt;interpn                    N维插值&lt;br /&gt;interpft                    利用FFT插值&lt;br /&gt;intro                        Matlab自带的入门引导&lt;br /&gt;inv                           求矩阵逆&lt;br /&gt;invhilb                     Hilbert矩阵的准确逆&lt;br /&gt;ipermute                  广义反转置&lt;br /&gt;isa                            检测是否给定类的对象&lt;br /&gt;ischar                       若是字符串则为真&lt;br /&gt;isequal                     若两数组相同则为真&lt;br /&gt;isempty                   若是空阵则为真&lt;br /&gt;isfinite                     若全部元素都有限则为真&lt;br /&gt;isfield                      若是构架域则为真&lt;br /&gt;isglobal                    若是全局变量则为真&lt;br /&gt;ishandle                   若是图形句柄则为真&lt;br /&gt;ishold                      若当前图形处于保留状态则为真&lt;br /&gt;isieee                       若计算机执行IEEE规则则为真&lt;br /&gt;isinf                         若是无穷数据则为真&lt;br /&gt;isletter                     若是英文字母则为真&lt;br /&gt;islogical                   若是逻辑数组则为真&lt;br /&gt;ismember 检查是否属于指定集&lt;br /&gt;isnan                        若是非数则为真&lt;br /&gt;isnumeric 若是数值数组则为真&lt;br /&gt;isobject                    若是对象则为真&lt;br /&gt;isprime                    若是质数则为真&lt;br /&gt;isreal                        若是实数则为真&lt;br /&gt;isspace                    若是空格则为真&lt;br /&gt;issparse                   若是稀疏矩阵则为真&lt;br /&gt;isstruct                    若是构架则为真&lt;br /&gt;isstudent                 若是Matlab学生版则为真&lt;br /&gt;iztrans                     符号计算Z反变换&lt;br /&gt;J j , K k&lt;br /&gt;jacobian                   符号计算中求Jacobian 矩阵&lt;br /&gt;jet                            蓝头红尾饱和色&lt;br /&gt;jordan                      符号计算中获得 Jordan标准型&lt;br /&gt;keyboard 键盘获得控制权&lt;br /&gt;kron                         Kronecker乘法规则产生的数组&lt;br /&gt;L l&lt;br /&gt;laplace                     Laplace变换&lt;br /&gt;lasterr                      显示最新出错信息&lt;br /&gt;lastwarn                  显示最新警告信息&lt;br /&gt;leastsq                     解非线性最小二乘问题（旧版）&lt;br /&gt;legend                      图形图例&lt;br /&gt;lighting                    照明模式&lt;br /&gt;line                          创建线对象&lt;br /&gt;lines                         采用plot 画线色&lt;br /&gt;linmod                     获连续系统的线性化模型&lt;br /&gt;linmod2                   获连续系统的线性化精良模型&lt;br /&gt;linspace                   线性等分向量&lt;br /&gt;ln                             矩阵自然对数&lt;br /&gt;load                         从MAT文件读取变量&lt;br /&gt;log                           自然对数&lt;br /&gt;log10                       常用对数&lt;br /&gt;log2                         底为2的对数&lt;br /&gt;loglog                       双对数刻度图形&lt;br /&gt;logm                        矩阵对数&lt;br /&gt;logspace                  对数分度向量&lt;br /&gt;lookfor                    按关键字搜索M文件&lt;br /&gt;lower                       转换为小写字母&lt;br /&gt;lsqnonlin 解非线性最小二乘问题&lt;br /&gt;lu                             LU分解&lt;br /&gt;M m&lt;br /&gt;mad                         平均绝对值偏差&lt;br /&gt;magic                       魔方阵&lt;br /&gt;maple           &amp;amp;nb, sp;          运作 Maple格式指令&lt;br /&gt;mat2str                    把数值数组转换成输入形态串数组&lt;br /&gt;material                   材料反射模式&lt;br /&gt;max                          找向量中最大元素&lt;br /&gt;mbuild                     产生EXE文件编译环境的预设置指令&lt;br /&gt;mcc                          创建MEX或EXE文件的编译指令&lt;br /&gt;mean                        求向量元素的平均值&lt;br /&gt;median                     求中位数&lt;br /&gt;menuedit 启动设计用户菜单的交互式编辑工具&lt;br /&gt;mesh                        网线图&lt;br /&gt;meshz                      垂帘网线图&lt;br /&gt;meshgrid  产生“格点”矩阵&lt;br /&gt;methods                  获知对指定类定义的所有方法函数&lt;br /&gt;mex                          产生MEX文件编译环境的预设置指令&lt;br /&gt;mfunlis                    能被mfun计算的MAPLE经典函数列表&lt;br /&gt;mhelp                      引出 Maple的在线帮助&lt;br /&gt;min                          找向量中最小元素&lt;br /&gt;mkdir                       创建目录&lt;br /&gt;mkpp                      逐段多项式数据的明晰化&lt;br /&gt;mod                         模运算&lt;br /&gt;more                        指令窗中内容的分页显示&lt;br /&gt;movie                      放映影片动画&lt;br /&gt;moviein                   影片帧画面的内存预置&lt;br /&gt;mtaylor                   符号计算多变量Taylor级数展开&lt;br /&gt;N n&lt;br /&gt;ndims                      求数组维数&lt;br /&gt;NaN                        非数（预定义）变量&lt;br /&gt;nargchk                    输入宗量数验证&lt;br /&gt;nargin                      函数输入宗量数&lt;br /&gt;nargout                    函数输出宗量数&lt;br /&gt;ndgrid                      产生高维格点矩阵&lt;br /&gt;newplot                   准备新的缺省图、轴&lt;br /&gt;nextpow2                取最接近的较大2次幂&lt;br /&gt;nnz                          矩阵的非零元素总数&lt;br /&gt;nonzeros 矩阵的非零元素&lt;br /&gt;norm                        矩阵或向量范数&lt;br /&gt;normcdf                   正态分布累计概率密度函数&lt;br /&gt;normest                   估计矩阵2范数&lt;br /&gt;norminv                   正态分布逆累计概率密度函数&lt;br /&gt;normpdf                  正态分布概率密度函数&lt;br /&gt;normrnd                  正态随机数发生器&lt;br /&gt;notebook 启动Matlab和Word的集成环境&lt;br /&gt;null                          零空间&lt;br /&gt;num2str                   把非整数数组转换为串&lt;br /&gt;numden                   获取最小公分母和相应的分子表达式&lt;br /&gt;nzmax                      指定存放非零元素所需内存&lt;br /&gt;O o&lt;br /&gt;ode1                        非Stiff  微分方程变步长解算器&lt;br /&gt;ode15s                     Stiff 微分方程变步长解算器&lt;br /&gt;ode23t                     适度Stiff  微分方程解算器&lt;br /&gt;ode23tb                   Stiff  微分方程解算器&lt;br /&gt;ode45                      非Stiff  微分方程变步长解算器&lt;br /&gt;odefile                     ODE 文件模板&lt;br /&gt;odeget                      获知ODE 选项设置参数&lt;br /&gt;odephas2 ODE 输出函数的二维相平面图&lt;br /&gt;odephas3                 ODE 输出函数的三维相空间图&lt;br /&gt;odeplot                    ODE 输出函数的时间轨迹图&lt;br /&gt;odeprint                  在Matlab指令窗显示结果&lt;br /&gt;odeset                      创建或改写 ODE选项构架参数值&lt;br /&gt;ones                         全1数组&lt;br /&gt;optimset                  创建或改写优化泛函指令的选项参数值&lt;br /&gt;orient                       设定图形的排放方式&lt;br /&gt;orth                         值空间正交化&lt;br /&gt;P p&lt;br /&gt;pack                        收集Matlab内存碎块扩大内存&lt;br /&gt;pagedlg                    调出图形排版对话框&lt;br /&gt;patch                       创建块对象&lt;br /&gt;path                         设置Matlab搜索路径的指令&lt;br /&gt;pathtool                  搜索路径管理器&lt;br /&gt;pause                       暂停&lt;br /&gt;pcode                      创建预解译P码文件&lt;br /&gt;pcolor                      伪彩图&lt;br /&gt;peaks                       Matlab提供的典型三维曲面&lt;br /&gt;permute                   广义转置&lt;br /&gt;pi                             （预定义变量）圆周率&lt;br /&gt;pie                           二维饼图&lt;br /&gt;pie3                         三维饼图&lt;br /&gt;pink                         粉红色图矩阵&lt;br /&gt;pinv                         伪逆&lt;br /&gt;plot                         平面线图&lt;br /&gt;plot3                       三维线图&lt;br /&gt;plotmatrix               矩阵的散点图&lt;br /&gt;plotyy                     双纵坐标图&lt;br /&gt;poissinv                  泊松分布逆累计概率分布函数&lt;br /&gt;poissrnd                  泊松分布随机数发生器&lt;br /&gt;pol2cart                   极或柱坐标变为直角坐标&lt;br /&gt;polar                        极坐标图&lt;br /&gt;poly                        矩阵的特征多项式、根集对应的多项式&lt;br /&gt;poly2str                  以习惯方式显示多项式&lt;br /&gt;poly2sym               双精度多项式系数转变为向量符号多项式&lt;br /&gt;polyder                   多项式导数&lt;br /&gt;polyfit                     数据的多项式拟合&lt;br /&gt;polyval                    计算多项式的值&lt;br /&gt;polyvalm 计算矩阵多项式&lt;br /&gt;pow2                       2的幂&lt;br /&gt;ppval                       计算分段多项式&lt;br /&gt;pretty                      以习惯方式显示符号表达式&lt;br /&gt;print                        打印图形或SIMULINK模型&lt;br /&gt;printsys                  以习惯方式显示有理分式&lt;br /&gt;prism                       光谱色图矩阵&lt;br /&gt;procread 向MAPLE输送计算程序&lt;br /&gt;profile                     函数文件性能评估器&lt;br /&gt;propedit                  图形对象属性编辑器&lt;br /&gt;pwd                         显示当前工作目录&lt;br /&gt;Q q&lt;br /&gt;quad                        低阶法计算数值积分&lt;br /&gt;quad8                      高阶法计算数值积分&lt;br /&gt;quit                          推出Matlab 环境&lt;br /&gt;quiver                      二维方向箭头图&lt;br /&gt;quiver3                    三维方向箭头图&lt;br /&gt;R r&lt;br /&gt;rand                         产生均匀分布随机数&lt;br /&gt;randn                       产生正态分布随机数&lt;br /&gt;randperm 随机置换向量&lt;br /&gt;range                        样本极差&lt;br /&gt;rank                         矩阵的秩&lt;br /&gt;rats                          有理输出&lt;br /&gt;rcond                       矩阵倒条件数估计&lt;br /&gt;real                          复数的实部&lt;br /&gt;reallog                      在实数域内计算自然对数&lt;br /&gt;realpow                   在实数域内计算乘方&lt;br /&gt;realsqrt                    在实数域内计算平方根&lt;br /&gt;realmax                    最大正浮点数&lt;br /&gt;realmin                    最小正浮点数&lt;br /&gt;rectangle  画“长方框”&lt;br /&gt;rem                          求余数&lt;br /&gt;repmat                     铺放模块数组&lt;br /&gt;reshape                    改变数组维数、大小&lt;br /&gt;residue                     部分分式展开&lt;br /&gt;return                      返回&lt;br /&gt;ribbon                      把二维曲线画成三维彩带图&lt;br /&gt;rmfield                     删去构架的域&lt;br /&gt;roots                        求多项式的根&lt;br /&gt;rose                         数扇形图&lt;br /&gt;rot90                       矩阵旋转90度&lt;br /&gt;rotate                       指定的原点和方向旋转&lt;br /&gt;rotate3d                   启动三维图形视角的交互设置功能&lt;br /&gt;round                       向最近整数圆整&lt;br /&gt;rref                          简化矩阵为梯形形式&lt;br /&gt;rsf2csf                     实数块对角阵转为复数特征值对角阵&lt;br /&gt;rsums                      Riemann和&lt;br /&gt;S s&lt;br /&gt;save                         把内存变量保存为文件&lt;br /&gt;scatter                     散点图&lt;br /&gt;scatter3                   三维散点图&lt;br /&gt;sec                           正割&lt;br /&gt;sech                         双曲正割&lt;br /&gt;semilogx  X轴对数刻度坐标图&lt;br /&gt;semilogy  Y轴对数刻度坐标图&lt;br /&gt;series                       串联连接&lt;br /&gt;set                           设置图形对象属性&lt;br /&gt;setfield                    设置构架数组的域&lt;br /&gt;setstr                       将ASCII码转换为字符的旧版指令&lt;br /&gt;sign                          根据符号取值函数&lt;br /&gt;signum                     符号计算中的符号取值函数&lt;br /&gt;sim                          运行SIMULINK模型&lt;br /&gt;simget                      获取SIMULINK模型设置的仿真参数&lt;br /&gt;simple                     寻找最短形式的符号解&lt;br /&gt;simplify                  符号计算中进行简化操作&lt;br /&gt;simset                      对SIMULINK模型的仿真参数进行设置&lt;br /&gt;simulink                  启动SIMULINK模块库浏览器&lt;br /&gt;sin                           正弦&lt;br /&gt;sinh                         双曲正弦&lt;br /&gt;size                          矩阵的大小&lt;br /&gt;slice                         立体切片图&lt;br /&gt;solve                        求代数方程的符号解&lt;br /&gt;spalloc                     为非零元素配置内存&lt;br /&gt;sparse                      创建稀疏矩阵&lt;br /&gt;spconvert                把外部数据转换为稀疏矩阵&lt;br /&gt;spdiags                    稀疏对角阵&lt;br /&gt;spfun                       求非零元素的函数值&lt;br /&gt;sph2cart                  球坐标变为直角坐标&lt;br /&gt;sphere                     产生球面&lt;br /&gt;spinmap                  色图彩色的周期变化&lt;br /&gt;spline                      样条插值&lt;br /&gt;spones                     用1置换非零元素&lt;br /&gt;sprandsym              稀疏随机对称阵&lt;br /&gt;sprank                     结构秩&lt;br /&gt;spring                      紫黄调春色图&lt;br /&gt;sprintf                     把格式数据写成串&lt;br /&gt;spy                          画稀疏结构图&lt;br /&gt;sqrt                          平方根&lt;br /&gt;sqrtm                       方根矩阵&lt;br /&gt;squeeze                   删去大小为1的“孤维”&lt;br /&gt;sscanf                      按指定格式读串&lt;br /&gt;stairs                       阶梯图&lt;br /&gt;std                           标准差&lt;br /&gt;stem                        二维杆图&lt;br /&gt;step                         阶跃响应指令&lt;br /&gt;str2double               串转换为双精度值&lt;br /&gt;str2mat                    创建多行串数组&lt;br /&gt;str2num                   串转换为数&lt;br /&gt;strcat                       接成长串&lt;br /&gt;strcmp                     串比较&lt;br /&gt;strjust                      串对齐&lt;br /&gt;strmatch                  搜索指定串&lt;br /&gt;strncmp                   串中前若干字符比较&lt;br /&gt;strrep                      串替换&lt;br /&gt;strtok                      寻找第一间隔符前的内容&lt;br /&gt;struct                       创建构架数组&lt;br /&gt;struct2cell               把构架转换为元胞数组&lt;br /&gt;strvcat                     创建多行串数组&lt;br /&gt;sub2ind                   多下标转换为单下标&lt;br /&gt;subexpr                   通过子表达式重写符号对象&lt;br /&gt;subplot                    创建子图&lt;br /&gt;subs                         符号计算中的符号变量置换&lt;br /&gt;subspace 两子空间夹角&lt;br /&gt;sum                         元素和&lt;br /&gt;summer                   绿黄调夏色图&lt;br /&gt;superiorto               设定优先级&lt;br /&gt;surf                          三维着色表面图&lt;br /&gt;surface                     创建面对象&lt;br /&gt;surfc                        带等位线的表面图&lt;br /&gt;surfl                         带光照的三维表面图&lt;br /&gt;surfnorm 空间表面的法线&lt;br /&gt;svd                          奇异值分解&lt;br /&gt;svds                         求指定的若干奇异值&lt;br /&gt;switch-case-otherwise            多分支结构&lt;br /&gt;sym2poly               符号多项式转变为双精度多项式系数向量&lt;br /&gt;symmmd 对称最小度排序&lt;br /&gt;symrcm                   反向Cuthill-McKee排序&lt;br /&gt;syms                       创建多个符号对象&lt;br /&gt;T t&lt;br /&gt;tan                           正切&lt;br /&gt;tanh                         双曲正切&lt;br /&gt;taylortool                进行Taylor逼近分析的交互界面&lt;br /&gt;text                          文字注释&lt;br /&gt;tf                             创建传递函数对象&lt;br /&gt;tic                            启动计时器&lt;br /&gt;title                          图名&lt;br /&gt;toc                           关闭计时器&lt;br /&gt;trapz                       梯形法数值积分&lt;br /&gt;treelayout                展开树、林&lt;br /&gt;treeplot                   画树图&lt;br /&gt;tril                           下三角阵&lt;br /&gt;trim                         求系统平衡点&lt;br /&gt;trimesh                    不规则格点网线图&lt;br /&gt;trisurf                      不规则格点表面图&lt;br /&gt;triu                          上三角阵&lt;br /&gt;try-catch                 控制流中的Try-catch结构&lt;br /&gt;type                        显示M文件&lt;br /&gt;U u&lt;br /&gt;uicontextmenu         创建现场菜单&lt;br /&gt;uicontrol 创建用户控件&lt;br /&gt;uimenu                    创建用户菜单&lt;br /&gt;unmkpp                  逐段多项式数据的反明晰化&lt;br /&gt;unwrap                    自然态相角&lt;br /&gt;upper                      转换为大写字母&lt;br /&gt;V v&lt;br /&gt;var                           方差&lt;br /&gt;varargin                   变长度输入宗量&lt;br /&gt;varargout                 变长度输出宗量&lt;br /&gt;vectorize 使串表达式或内联函数适于数组运算&lt;br /&gt;ver                           版本信息的获取&lt;br /&gt;view                        三维图形的视角控制&lt;br /&gt;voronoi                    Voronoi多边形&lt;br /&gt;vpa                          任意精度（符号类）数值&lt;br /&gt;W w&lt;br /&gt;warning                   显示警告信息&lt;br /&gt;what                        列出当前目录上的文件&lt;br /&gt;whatsnew                显示Matlab中 Readme文件的内容&lt;br /&gt;which                      确定函数、文件的位置&lt;br /&gt;while                       控制流中的While环结构&lt;br /&gt;white                       全白色图矩阵&lt;br /&gt;whitebg                   指定轴的背景色&lt;br /&gt;who                         列出内存中的变量名&lt;br /&gt;whos                       列出内存中变量的详细信息&lt;br /&gt;winter                      蓝绿调冬色图&lt;br /&gt;workspace               启动内存浏览器&lt;br /&gt;X x , Y y , Z z&lt;br /&gt;xlabel                       X轴名&lt;br /&gt;xor                           或非逻辑&lt;br /&gt;yesinput                  智能输入指令&lt;br /&gt;ylabel                      Y轴名&lt;br /&gt;zeros                       全零数组&lt;br /&gt;zlabel                       Z轴名&lt;br /&gt;zoom                       图形的变焦放大和缩小&lt;br /&gt;ztrans                      符号计算Z变换&lt;/p&gt;&lt;p class="mobile-post"&gt;返回页首  关闭窗口&lt;br /&gt;  	&lt;br /&gt;  	&lt;br /&gt;	 		&lt;br /&gt;  	&lt;br /&gt;本类链接&lt;br /&gt;	&lt;br /&gt;Matlab的函数及指令&lt;br /&gt;	&lt;br /&gt;MATLAB 程式设计与应用(3)&lt;br /&gt;	&lt;br /&gt;MATLAB 程式设计与应用(2)&lt;br /&gt;	&lt;br /&gt;MATLAB 程式设计与应用(1)&lt;br /&gt;	&lt;br /&gt;Matlab符号数学工具箱应用简介&lt;br /&gt;	&lt;br /&gt;数学软件四大家---Maple、MATLAB、MathCAD和Mathematica&lt;br /&gt;	&lt;br /&gt;强大的数学软件包Mathcad&lt;br /&gt;	&lt;br /&gt;Mathcad快报&lt;/p&gt;&lt;p class="mobile-post"&gt;	&lt;/p&gt;&lt;p class="mobile-post"&gt;关于我们  提建议  联系我们 -- 浙江工商大学 统计与计算科学学院   版权所有 Copyright @ 2005.5   http://tjjy.zjgsu.edu.cn/&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114326771410963130?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114326771410963130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114326771410963130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114326771410963130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114326771410963130'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/03/matlab.html' title='浙江工商大学统计精英网--[Matlab的函数及指令]'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114251167630732021</id><published>2006-03-16T04:21:00.000-08:00</published><updated>2006-03-16T04:21:16.370-08:00</updated><title type='text'>基于HTTP的QQ协议之我所见--</title><content type='html'>&lt;p class="mobile-post"&gt;基于HTTP的QQ协议之我所见&lt;/p&gt;&lt;p class="mobile-post"&gt;　来源：协议分析论坛  作者：微程  编辑：  浏览：5262人次&lt;/p&gt;&lt;p class="mobile-post"&gt;　	　	　	&lt;br /&gt;　	http://www.cnpaf.net/Class/OtherAnalysis/056715250816612776.htm&lt;/p&gt;&lt;p class="mobile-post"&gt;　&lt;br /&gt;　	&lt;br /&gt;　	&lt;/p&gt;&lt;p class="mobile-post"&gt;有一年没有发表文章了,最近我为了一个项目对QQ协议进行研究,有些心得,不敢独享,故把其中一项协议--基于HTTP的QQ协议V1.1的不完整成果,拿出来与大家分享一下。&lt;br /&gt;大家说到QQ协议都觉得很神秘，是因为QQ不像MSN或者ICQ协议都已经官方公布了，而QQ的没有公布。研究它的人也不是特别的多，虽然已经有了基于QQ协议所写成的第三方软件 foicq, qq plugins for gaim, LumaQQ，但是由于他们是基于二进制Stream的协议过于复杂，大家阅读代码也有一定的难度，再加上网络上解析QQ协议的文章也不是十分多，所以基于QQ网络协议的应用程序也是寥寥无几的。现在我就把基于HTTP的QQ协议进行一个粗浅的剖析，希望对大家有所帮助。源码部分就用我喜欢的DELPHI和现在比较流行的C#语言对QQ协议的实现进行具体分析。&lt;br /&gt;1、找寻支持QQ HTTP协议的服务器。&lt;br /&gt;大家也许会被一些假像所迷惑，也许会认为QQ的HTTP服务器是基于80口进行通信的（如：218.17.209.23:80），其实不然，正真基于HTTP的服务器应该是：http://tqq.tencent.com:8000，它是一个通过8000口进行通讯的服务器。&lt;br /&gt;由于QQ的HTTP服务器并不支持HTTP协议中GET方法，它支持POST方法。所以我们要给QQ的HTTP协议传参数，那么就必需要用POST方式才行。&lt;br /&gt;2、C#和DELPHI是实现HTTP的POST方法的通信。&lt;br /&gt;C#：&lt;br /&gt;C#里System.Web空间下提供了一个叫做WebClient的对象，使用此对象就可以使C#直接对服务器发送WEB客户端的请求。那么我们要对服务器提交POST方法那么就必须使用其UploadData()方法才行。首先把要请求的信息先转换为字节（因为POST提交的是字符的流数据），然后再做为UploadData()的参数。使用UploadData()进行数据提交，最后返回，POST的回馈信息。如下：&lt;br /&gt;WebClient _client = new WebClient();&lt;br /&gt;string postValues = "VER=1.0&amp;amp;CMD=Query_Stat&amp;amp;SEQ=12321&amp;amp;UIN=29501213&amp;amp;TN=50&amp;amp;UN=0";&lt;br /&gt;Byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(postValues);&lt;br /&gt;Byte[] pageData = _client.UploadData(Host,"POST",byteArray);&lt;br /&gt;这样，我们就利用C#进行了一次HTTP的POST方法提交了。&lt;br /&gt;DELPHI：&lt;br /&gt;Delphi里我们利用一个比较流行的第三方VCL，INDY HTTP（这个组件D6，D7里面自带）进行HTTP通信。使用其的POST方法便可以进行HTTP的POST通信，因为组件比较好用，我就不在其描述具体的过程了。大家可以参考以下代码：&lt;br /&gt;function PostWebPage(url,para:String;TimeOut:Integer):String;&lt;br /&gt;var&lt;br /&gt;tmpWeb:TIdHTTP;&lt;br /&gt;retrun:String;&lt;br /&gt;Proxy:String;&lt;br /&gt;i:Integer;&lt;br /&gt;paralist:TStrings;&lt;br /&gt;begin&lt;br /&gt;retrun:='';&lt;br /&gt;try&lt;br /&gt;   paralist:=TStringList.Create;&lt;br /&gt;   paralist.Text:=_Replacing(para,'&amp;amp;',#13#10);&lt;br /&gt;   tmpWeb:=TIdHTTP.Create(nil);&lt;br /&gt;   tmpWeb.ReadTimeout:=TimeOut;&lt;br /&gt;   for i:=1 to 3 do&lt;br /&gt;   begin&lt;br /&gt;     try&lt;br /&gt;     retrun:=tmpWeb.Post(url,paralist);&lt;br /&gt;     except end;&lt;br /&gt;     if retrun&amp;lt;&amp;gt;'' then break;&lt;br /&gt;   end;&lt;br /&gt;finally&lt;br /&gt;     tmpWeb.Disconnect;&lt;br /&gt;     FreeAndNil(tmpWeb);&lt;br /&gt;     FreeAndNil(paralist);&lt;br /&gt;end;&lt;br /&gt;Result:=retrun;&lt;br /&gt;end;&lt;br /&gt;值在传入、返回时，其是基于UTF-8进行的，C#显示中文是很常，而DELPHI就要进行UTF-8的转换了。大家可通过Utf8ToAnsi()、AnsiToUtf8()进行转换。（编码转换是C#的优越性之一）&lt;br /&gt;3、实现QQ的用户登录。&lt;br /&gt;在QQ通信中用户必需要登录后才可以进行互相发送信息等。QQ的登录是很关键的，大家所看到的用户在线，并不是用户的QQ一直连接着服务器，而是定时发送消信给服务器，证明自己还连着线，如果超出时间QQ就认为用户已经掉线了。&lt;br /&gt;在登录协议中，QQ的密码是用标准的MD5来进行加密，DELPHI的用户只需要下个MD5加密模块就可以了，而C#自已带有，但是直接用不了，必需进行处理后，才能使其变成标准的MD5，处理代码如下：&lt;/p&gt;&lt;p class="mobile-post"&gt;           public static string MD5(string toCryString)&lt;br /&gt;            {&lt;br /&gt;                  MD5CryptoServiceProvider hashmd5;&lt;br /&gt;                  hashmd5 = new MD5CryptoServiceProvider();&lt;br /&gt;                  return BitConverter.ToString(hashmd5.ComputeHash(Encoding.Default.GetBytes(toCryString))).Replace("-","").ToLower();//asp是小写,把所有字符变小写&lt;br /&gt;            }&lt;br /&gt;了解QQ是如何对用户密码加密后，那么我们就开始真正，解析QQ的HTTP登录协议了,我们把协议当传POST的参数传给服务器，而服务器则回馈相应的信息给客户端：&lt;br /&gt;传入协议：&lt;br /&gt;VER=1.1&amp;amp;CMD=Login&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;PS=&amp;amp;M5=1&amp;amp;LC=9326B87B234E7235&lt;br /&gt;VER是用来说明QQ协议的版本，CMD是说明协议的命令，Login就是指QQ的登录了，SEQ是他的为了防止重复发送而设定的一个标记，一般我们取当前时间数值的一段放入即可。（C#：DateTime.Now.Ticks.ToString().Substring(7,7) DELPHI：CopyStr(inttostr(GetTickCount()),1,5)），UIN是说明你当前要登录的用户QQ号，PS，是MD5加密过后的密码的值。&lt;br /&gt;返回协议：&lt;br /&gt;VER=1.1&amp;amp;CMD=Login&amp;amp;SEQ=11281&amp;amp;UIN=&amp;amp;RES=0&amp;amp;RS=0&amp;amp;HI=60&amp;amp;LI=300（成功）&lt;br /&gt;RES为0表示成功返回，RS为0表示登录成功。&lt;br /&gt;VER=1.1&amp;amp;CMD=Login&amp;amp;SEQ=11422&amp;amp;UIN=315103947&amp;amp;RES=0&amp;amp;RS=1&amp;amp;RA=登录失败&lt;br /&gt;RS为1表示登录失败，那么就会出现提示信息RA说明原因。�&lt;br /&gt;4、获得QQ名单。&lt;br /&gt;如果您加了您的好友，那么您的好友就会放入你的QQ的好友名单里面，那么我们要得到QQ名单就必需给QQ服务器发送得到好友名单的协议（我就不从复已知的参数了）：&lt;br /&gt;VER=1.1&amp;amp;CMD=List&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;TN=160&amp;amp;UN=0&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=LIST&amp;amp;SEQ=43661&amp;amp;UIN=29501213&amp;amp;RES=0&amp;amp;FN=1&amp;amp;SN=24&amp;amp;UN=561256,1943497,....&lt;br /&gt;UN后面则是您好友的QQ号码，每个号码都由,进行分开。那么我们只需要得到UN后面的代码，把它列表化就OK了。C#可以用string.Split(',')把值放入列表进行处理，而DELPHI可以使用Split()把数值放入TStrings里进行处理。&lt;br /&gt;5、获得QQ好友在线名单&lt;br /&gt;获得QQ好友在线名单，跟获得好友名单差不多，唯一不同的是用的命令不同用的是Query_Stat，协议如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=Query_Stat&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;TN=50&amp;amp;UN=0&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=QUERY_STAT&amp;amp;SEQ=-1&amp;amp;UIN=29501213&amp;amp;RES=0&amp;amp;FC=141,270,270,&amp;amp;FN=1&amp;amp;SN=3&amp;amp;ST=10,10,10,&amp;amp;UN=12327207,24259132,29501213,&amp;amp;NK= □,微程,鶹鸑,&amp;amp;&lt;br /&gt;FC为QQ头像的的ID，如的头像ID为270，那么其头使用的图片为91.bmp,其算法为ID/3+1。ST为QQ用户的状态，10为上线，20为离线，30为忙碌。UN为在线用户的QQ号，NK为在线用户的QQ昵称。ST，UN，NK，每个逗号隔开的数据相互对应。在得到消息后如果用的是DELPHI语言，那么要用Utf8ToAnsi()进行转换，不然会出现乱码。&lt;br /&gt;6、得到QQ用户的信息。&lt;br /&gt;如果要看到QQ用户的真实名称，MAIL，年龄，个人说明等信息，那么我们必需要向服务器发送得到好友信息的信息：&lt;br /&gt;VER=1.1&amp;amp;CMD=GetInfo&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;LV=2&amp;amp;UN=&lt;br /&gt;UN为要查看用户信息的QQ号。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=GETINFO&amp;amp;SEQ=12707&amp;amp;UIN=415103947&amp;amp;RES=0&amp;amp;AD=云南昆明&amp;amp;AG=0&amp;amp;EM=Microprogramer@hotmail.com&amp;amp;FC=270&amp;amp;HP=msger.org(建设中...)&amp;amp;JB=程序员&amp;amp;LV=2&amp;amp;PC=650000&amp;amp;PH=0871-6466529&amp;amp;PR=网络为媒,关系为本,信息为财,客户为主. &amp;amp;PV=云南省&amp;amp;RN=刘X&amp;amp;SC=社会大学&amp;amp;SX=0&amp;amp;UN=24259132&amp;amp;NK=微程&lt;br /&gt;AD用户的联系地址，AG为用户年龄，EM为用户MAIL，FC为用户头像，HP为用户网站，JB为用户职业，PC为用户邮编，PH为用户联系电话，PR为用户简介，PV为用户所以的省，RN为用户真实名称，SC为用户毕业院校，SX为用户性别，UN为用户QQ号，NK为用户QQ昵称。在得到消息后如果用的是DELPHI语言，那么要用Utf8ToAnsi()进行转换，不然会出现乱码。&lt;br /&gt;7、增加QQ好友。&lt;br /&gt;想要新增好友，就要发送AddToList命令给服务器，具体命令如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=AddToList&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;UN=&lt;br /&gt;UN为我们要增加用户的QQ号。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=AddToList&amp;amp;SEQ=13666&amp;amp;UIN=415103947&amp;amp;RES=0&amp;amp;CD=0&amp;amp;UN=24259132&lt;br /&gt;CD为被加QQ的身份验证状态，CD为0表示“允许任何人把我列为好友”，CD为1表示“需要身份证认才能把我列为好友”，CD为3表示“不允许任何人把我列为好友”。如果CD为0那么信息回馈后，用户就直接加为好友了，如果CD为1，那么还要发送一次回应加为好友的响应。&lt;br /&gt;8、回应加为好友的响应。&lt;br /&gt;回应加为好友响应是双方的：1、如果你发送了请求加对方为好友，如果对方需要验证，那么必需发送回应加为好友的响应。2、如果对方发送加为好友请求给你，那么你可以加应加为好友的响应，一是加为好友，一是通过验证，一是拒决加为好友。我们要向服务器发送命令：&lt;br /&gt;VER=1.1&amp;amp;CMD=Ack_AddToList&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;UN=&amp;amp;CD=&amp;amp;RS=&lt;br /&gt;CD为响应状态，CD为0表示“通过验证”。CD为1表示“拒决加为对方为好友”。CD为2表示“为请求对方加为好友”。RS为你要请求的理由，如果您用的是DELPHI那么RS在发送之间要用AnsiToUtf8()进行转换，不然发送过后，请求理由会变成“？”。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=Ack_AddToList&amp;amp;SEQ=1130&amp;amp;UIN=415103947&amp;amp;RES=0&amp;amp;&lt;br /&gt;9、删除好友。&lt;br /&gt;删除好友其实很容易，向服务器发送DelFromList命令则可以删除用户：&lt;br /&gt;VER=1.1&amp;amp;CMD=DelFromList&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;UN=&lt;br /&gt;UN为要删除用户的QQ号。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=DelFromList&amp;amp;SEQ=24514&amp;amp;UIN=415103947&amp;amp;RES=0&amp;amp;&lt;br /&gt;10、改变用户当前状态。&lt;br /&gt;可以把QQ设置为在线，隐身等状态，我们可以发送Change_Stat给服务器以改变当前状态，具体命令如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=Change_Stat&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;ST=&lt;br /&gt;ST为要改变的状态，10为上线，20为离线，30为忙碌。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=Change_Stat&amp;amp;SEQ=17512&amp;amp;UIN=415103947&amp;amp;RES=0&amp;amp;&lt;br /&gt;11、退出登录&lt;br /&gt;要退出登录，要向服务器发送命令Logout，具体命令如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=Logout&amp;amp;SEQ=&amp;amp;UIN=&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=LOGOUT&amp;amp;SEQ=15803&amp;amp;UIN=415103947&amp;amp;RES=0&lt;br /&gt;12、获得好友QQ的消息&lt;br /&gt;如果要接收好友的消息，要向服务器发送命令GetMsgEx，具体命令如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=GetMsgEx&amp;amp;SEQ=&amp;amp;UIN=&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=GETMSGEX&amp;amp;SEQ=56661&amp;amp;UIN=29501213&amp;amp;RES=0&amp;amp;MN=3&amp;amp;MT=99,9,9,&amp;amp;UN=24259132,24259132,24259132,&amp;amp;MG=30 ,asdfasdfasdfasdf ,asdfasdfasdf ,&amp;amp;&lt;br /&gt;MT表示消息类型，99表示系统消息，9表示用户消息。UN表示消息发送来源用户，MG表示发送的消息，MG消息可以表示某些特定的系统含意，譬如：当MT为99，MG为30，UN为24259132则表示用户4259132现在处于忙碌状态，可根据此消息进行好友列表的刷新，提高效率。在得到消息后如果用的是DELPHI语言，那么要用Utf8ToAnsi()进行转换，不然会出现乱码。&lt;br /&gt;13、向好友QQ发送消息&lt;br /&gt;要发送消息给好友，要向服务器发送命令CLTMSG命令，具体命令如下：&lt;br /&gt;VER=1.1&amp;amp;CMD=CLTMSG&amp;amp;SEQ=&amp;amp;UIN=&amp;amp;UN=&amp;amp;MG=&lt;br /&gt;UN为消息发送给的用户QQ号码，MG为发送给该用户的消息。如果您用的是DELPHI那么MG在发送之间要用AnsiToUtf8()进行转换，不然发送过后，消息会变成“？”。&lt;br /&gt;服务器得到协议后如果成功则返回：&lt;br /&gt;VER=1.1&amp;amp;CMD=CLTMSG&amp;amp;SEQ=15803&amp;amp;UIN=415103947&amp;amp;RES=0&lt;br /&gt;好了，以上就是QQ基于HTTP的一个不完全的协议分析，在无源码前提下，在下能力有限，只能够分析这么多了。利用以上协议您就可以实现很多东西，如：QQ机器人，QQ广告系统，即时通讯的整合工具等等。如果您还有什么问题，请加我的QQ：24259132，MSN：microprogramer@hotmail.com，BLOG：http://spaces.msn.com/members/mprogramer/。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114251167630732021?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114251167630732021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114251167630732021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114251167630732021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114251167630732021'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/03/httpqq.html' title='基于HTTP的QQ协议之我所见--'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114105835385796385</id><published>2006-02-27T08:39:00.000-08:00</published><updated>2006-02-27T08:39:13.880-08:00</updated><title type='text'></title><content type='html'>&lt;p class="mobile-post"&gt;数值微分.m&lt;br /&gt;function g=dfs(f,x,h,s)&lt;br /&gt;switch s&lt;br /&gt;     case 1,&lt;br /&gt;         g=(feval(f,x+h)-feval(f,x))/h;&lt;br /&gt;     case 2,&lt;br /&gt;         g=(feval(f,x+2*h)+feval(f,x)-2*feval(f,x+h))/(h*h);&lt;br /&gt;     otherwise,&lt;br /&gt;end&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114105835385796385?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114105835385796385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114105835385796385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114105835385796385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114105835385796385'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/02/blog-post_27.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114079352456016655</id><published>2006-02-24T07:05:00.000-08:00</published><updated>2006-02-24T07:05:24.616-08:00</updated><title type='text'>给两个单词S1 和S2，判断是否可以在S1 里插入、删除或修改一个字符得到S2。</title><content type='html'>&lt;p class="mobile-post"&gt;给两个单词S1 和S2，判断是否可以在S1 里插入、删除或修改一个字符得到S2。&lt;br /&gt;#include "stdafx.h"&lt;br /&gt;#include "string.h"&lt;/p&gt;&lt;p class="mobile-post"&gt;int isEqLen(char s1[],char s2[]){&lt;br /&gt;	int i,j;&lt;br /&gt;	for(i=0;i&amp;lt;100 &amp;amp;&amp;amp; s1[i]!='\0';i++){}&lt;br /&gt;	for(j=0;j&amp;lt;100 &amp;amp;&amp;amp; s2[j]!='\0';j++){}&lt;br /&gt;	return i==j;&lt;br /&gt;}&lt;br /&gt;int isModyfiedable(char s1[],char s2[]){&lt;br /&gt;	int i,j,k;&lt;br /&gt;	if(!isEqLen(s1,s2))return 0 ;&lt;br /&gt;	k=0;&lt;br /&gt;	for(i=0;i&amp;lt;100 &amp;amp;&amp;amp; s1[i]!='\0' &amp;amp;&amp;amp; s2[i]!='\0';i++){&lt;br /&gt;		if(s1[i]!=s2[i])k++;&lt;br /&gt;		if(k==2)return 0;&lt;br /&gt;	}&lt;br /&gt;	return 1;&lt;br /&gt;}&lt;br /&gt;int isSame(char s1[],char s2[]){&lt;br /&gt;	int i;&lt;br /&gt;	if(!isEqLen(s1,s2))return 0;&lt;br /&gt;	for(i=0;i&amp;lt;100 &amp;amp;&amp;amp; s1[i]!='\0' &amp;amp;&amp;amp; s2[i]!='\0';i++){&lt;br /&gt;		if(s1[i]!=s2[i])return 0;&lt;br /&gt;	}&lt;br /&gt;	return 1;&lt;br /&gt;}&lt;br /&gt;void clearstr(char s[]){&lt;br /&gt;	int i;&lt;br /&gt;	for(i=1;i&amp;lt;100;i++){&lt;br /&gt;		s[i]='\0';&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;int isDeletable(char s1[],char s2[]){&lt;br /&gt;	int i,j,k=0;&lt;br /&gt;	char s[100];&lt;br /&gt;	for(i=0;i&amp;lt;100 &amp;amp;&amp;amp; s1[i]!='\0';i++){//kick s1[i] back&amp;lt;&amp;lt;&lt;br /&gt;		clearstr(s);&lt;br /&gt;		for(j=0;j&amp;lt;100 &amp;amp;&amp;amp; s1[j]!='\0';j++){&lt;br /&gt;			if(j&amp;lt;i)s[j]=s1[j];&lt;br /&gt;			else s[j]=s1[j+1];&lt;br /&gt;			if(s[j]=='\0')break;&lt;br /&gt;		}&lt;br /&gt;		if(isSame(s,s2))k=1;&lt;br /&gt;	}&lt;br /&gt;	return k;&lt;br /&gt;}&lt;br /&gt;int isInsertable(char s1[],char s2[]){&lt;br /&gt;	return isDeletable(s2,s1);&lt;br /&gt;}&lt;br /&gt;int main(int argc, char* argv[])&lt;br /&gt;{&lt;br /&gt;	char s1[100],s2[100];&lt;br /&gt;	gets(s1);	gets(s2);&lt;/p&gt;&lt;p class="mobile-post"&gt;	if(isModyfiedable(s1,s2)){&lt;br /&gt;		printf("Yes(isModyfiedable)");&lt;br /&gt;	}&lt;br /&gt;	if(isDeletable(s1,s2)){&lt;br /&gt;		printf("Yes(isDeletable)");&lt;br /&gt;	}&lt;br /&gt;	if(isInsertable(s1,s2)){&lt;br /&gt;		printf("Yes(isInsertable)");&lt;br /&gt;	}&lt;br /&gt;//	printf("Hello World!\n");isInsertable&lt;br /&gt;	getchar();&lt;br /&gt;}&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114079352456016655?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114079352456016655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114079352456016655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114079352456016655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114079352456016655'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/02/s1-s2s1-s2.html' title='给两个单词S1 和S2，判断是否可以在S1 里插入、删除或修改一个字符得到S2。'/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15783244.post-114078897328721580</id><published>2006-02-24T05:49:00.000-08:00</published><updated>2006-02-24T05:49:33.313-08:00</updated><title type='text'></title><content type='html'>&lt;p class="mobile-post"&gt;给一个大于1的正整数A，输出它的所有素因子p，即能整除A的所有正素素数是有且仅有两个约数（1和它本身）的整数。&lt;/p&gt;&lt;p class="mobile-post"&gt;	long j,k,n,flag=0;&lt;br /&gt;	scanf("%d",&amp;amp;n);getchar();&lt;br /&gt;	for(k=2;k&amp;lt;n;k++){&lt;br /&gt;		if((n%k)==0){&lt;br /&gt;			for(j=2;j&amp;lt;=sqrt(k);j++){			&lt;br /&gt;				if((k%j)==0){&lt;br /&gt;					flag=1;&lt;br /&gt;					break;&lt;br /&gt;				}&lt;br /&gt;			}&lt;br /&gt;			if(flag==1)break;&lt;br /&gt;			else printf("%d ",k);&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;	getchar();&lt;br /&gt;	return 0;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15783244-114078897328721580?l=wangyuantao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wangyuantao.blogspot.com/feeds/114078897328721580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=15783244&amp;postID=114078897328721580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114078897328721580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15783244/posts/default/114078897328721580'/><link rel='alternate' type='text/html' href='http://wangyuantao.blogspot.com/2006/02/1apa1-long-jknflag0-scanfd.html' title=''/><author><name>civ3's</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>