<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_J-Pei.net</title><subtitle type="text">将技术进行到底</subtitle><id>http://feed.cnblogs.com/blog/u/20538/rss</id><updated>2012-02-02T06:47:08Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/20538/rss"/><entry><id>http://www.cnblogs.com/peijian708/archive/2012/02/02/2335765.html</id><title type="text">通过Process调用桌面程序</title><summary type="text">通过Process调用桌面程序View Code 1privatevoidForm1_Load(objectsender,EventArgse)2{3stringuserid=&amp;quot;admin&amp;quot;;4stringpassword=&amp;quot;00&amp;quot;;5string[]cmd=newstring[]{@&amp;quot;cdE:\Project\DotNet\bin\Debug&amp;quot;,&amp;quot;PhotoMan.exe$StartFromEIP$&amp;quot;+userid+&amp;quot;&amp;quot;+assword};67Processp=newProcess();8p.</summary><published>2012-02-02T06:47:00Z</published><updated>2012-02-02T06:47:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2012/02/02/2335765.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2012/02/02/2335765.html"/><content type="html">&lt;p&gt;通过Process调用桌面程序&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('ee399acd-e7df-4053-ae66-e12a8c2b595b')"&gt;&lt;img style="display: none" id="code_img_opened_ee399acd-e7df-4053-ae66-e12a8c2b595b"  onclick="cnblogs_code_hide('ee399acd-e7df-4053-ae66-e12a8c2b595b',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div id="cnblogs_code_open_ee399acd-e7df-4053-ae66-e12a8c2b595b" &gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&amp;nbsp;Form1_Load(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;nbsp;userid&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;admin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;nbsp;password&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;00&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]&amp;nbsp;cmd&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]&amp;nbsp;{&amp;nbsp;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;cd&amp;nbsp;E:\Project\DotNet\bin\Debug&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;PhotoMan.exe&amp;nbsp;$StartFromEIP$&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;userid&amp;nbsp;+&amp;nbsp;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&amp;nbsp;+&amp;nbsp;assword&amp;nbsp;};&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Process&amp;nbsp;p&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&amp;nbsp;Process();&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.FileName&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;cmd.exe&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.UseShellExecute&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.RedirectStandardInput&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.RedirectStandardOutput&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.RedirectStandardError&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StartInfo.CreateNoWindow&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.Start();&lt;br /&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StandardInput.AutoFlush&amp;nbsp;=&amp;nbsp;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;for&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;&lt;span style="color: #800080"&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;cmd.Length;&amp;nbsp;i++)&lt;br /&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StandardInput.WriteLine(cmd[i].ToString());&lt;br /&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.StandardInput.WriteLine(&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;exit&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080"&gt;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;nbsp;strRst&amp;nbsp;=&amp;nbsp;p.StandardOutput.ReadToEnd();&lt;br /&gt;&lt;span style="color: #008080"&gt;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.WaitForExit();&lt;br /&gt;&lt;span style="color: #008080"&gt;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p.Close();&lt;br /&gt;&lt;span style="color: #008080"&gt;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form1_FormClosed(&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;,&amp;nbsp;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080"&gt;25&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #008080"&gt;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;span style="color: #008080"&gt;27&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;span style="color: #008080"&gt;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&amp;nbsp;Form1_FormClosed(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;FormClosedEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;span style="color: #008080"&gt;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span style="color: #008080"&gt;30&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Exit();&lt;br /&gt;&lt;span style="color: #008080"&gt;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2335765.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2012/02/02/2335765.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2012/01/04/2312155.html</id><title type="text">深入理解Javascript闭包(closure)</title><summary type="text">最近在网上查阅了不少Javascript闭包(closure)相关的资料，写的大多是非常的学术和专业。对于初学者来说别说理解闭包了，就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。一、什么是闭包？“官方”的解释是：所谓“闭包”，指的是一个拥有许多变量和绑定了这些变量的环境的表达式（通常是一个函数），因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话，因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包，因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码：functiona(){vari</summary><published>2012-01-04T08:11:00Z</published><updated>2012-01-04T08:11:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2012/01/04/2312155.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2012/01/04/2312155.html"/><content type="html">最近在网上查阅了不少Javascript闭包(closure)相关的资料，写的大多是非常的学术和专业。对于初学者来说别说理解闭包了，就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。&lt;br /&gt;&lt;br /&gt;一、什么是闭包？&lt;br /&gt;&amp;#8220;官方&amp;#8221;的解释是：所谓&amp;#8220;闭包&amp;#8221;，指的是一个拥有许多变量和绑定了这些变量的环境的表达式（通常是一个函数），因而这些变量也是该表达式的一部分。&lt;br /&gt;相信很少有人能直接看懂这句话，因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包，因为跳过闭包的创建过程直接理解闭包的定义是非常困难的。看下面这段代码：&amp;nbsp;&lt;br /&gt;function&amp;nbsp;a(){&lt;br /&gt;&amp;nbsp;var&amp;nbsp;i=0;&lt;br /&gt;&amp;nbsp;function&amp;nbsp;b(){&lt;br /&gt;&amp;nbsp;alert(++i);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;return&amp;nbsp;b;&lt;br /&gt;}&lt;br /&gt;var&amp;nbsp;c&amp;nbsp;=&amp;nbsp;a();&lt;br /&gt;c();&lt;br /&gt;这段代码有两个特点：&lt;br /&gt;1、函数b嵌套在函数a内部；&lt;br /&gt;2、函数a返回函数b。&lt;br /&gt;这样在执行完var&amp;nbsp;c=a()后，变量c实际上是指向了函数b，再执行c()后就会弹出一个窗口显示i的值(第一次为1)。这段代码其实就创建了一个闭包，为什么？因为函数a外的变量c引用了函数a内的函数b，就是说：&lt;br /&gt;&lt;br /&gt;当函数a的内部函数b被函数a外的一个变量引用的时候，就创建了一个闭包。&lt;br /&gt;&lt;br /&gt;我猜想你一定还是不理解闭包，因为你不知道闭包有什么作用，下面让我们继续探索。&lt;br /&gt;&lt;br /&gt;二、闭包有什么作用？&lt;br /&gt;简而言之，闭包的作用就是在a执行完并返回后，闭包使得Javascript的垃圾回收机制GC不会收回a所占用的资源，因为a的内部函数b的执行需要依赖a中的变量。这是对闭包作用的非常直白的描述，不专业也不严谨，但大概意思就是这样，理解闭包需要循序渐进的过程。&lt;br /&gt;在上面的例子中，由于闭包的存在使得函数a返回后，a中的i始终存在，这样每次执行c()，i都是自加1后alert出i的值。&lt;br /&gt;&lt;br /&gt;那&amp;nbsp;么我们来想象另一种情况，如果a返回的不是函数b，情况就完全不同了。因为a执行完后，b没有被返回给a的外界，只是被a所引用，而此时a也只会被b引&amp;nbsp;用，因此函数a和b互相引用但又不被外界打扰(被外界引用)，函数a和b就会被GC回收。(关于Javascript的垃圾回收机制将在后面详细介绍)&lt;br /&gt;&lt;br /&gt;三、闭包内的微观世界&lt;br /&gt;如&amp;nbsp;果要更加深入的了解闭包以及函数a和嵌套函数b的关系，我们需要引入另外几个概念：函数的执行环境(excution&amp;nbsp;context)、活动对象(call&amp;nbsp;object)、作用域(scope)、作用域链(scope&amp;nbsp;chain)。以函数a从定义到执行的过程为例阐述这几个概念。&lt;br /&gt;&lt;br /&gt;1、当定义函数a的时候，js解释器会将函数a的作用域链(scope&amp;nbsp;chain)设置为定义a时a所在的&amp;#8220;环境&amp;#8221;，如果a是一个全局函数，则scope&amp;nbsp;chain中只有window对象。&lt;br /&gt;2、当函数a执行的时候，a会进入相应的执行环境(excution&amp;nbsp;context)。&lt;br /&gt;3、在创建执行环境的过程中，首先会为a添加一个scope属性，即a的作用域，其值就为第1步中的scope&amp;nbsp;chain。即a.scope=a的作用域链。&lt;br /&gt;4、然后执行环境会创建一个活动对象(call&amp;nbsp;object)。活动对象也是一个拥有属性的对象，但它不具有原型而且不能通过JavaScript代码直接访问。创建完活动对象后，把活动对象添加到a的作用域链的最顶端。此时a的作用域链包含了两个对象：a的活动对象和window对象。&lt;br /&gt;5、下一步是在活动对象上添加一个arguments属性，它保存着调用函数a时所传递的参数。&lt;br /&gt;6、最后把所有函数a的形参和内部的函数b的引用也添加到a的活动对象上。在这一步中，完成了函数b的的定义，因此如同第3步，函数b的作用域链被设置为b所被定义的环境，即a的作用域。&lt;br /&gt;&lt;br /&gt;到此，整个函数a从定义到执行的步骤就完成了。此时a返回函数b的引用给c，又函数b的作用域链包含了对函数a的活动对象的引用，也就是说b可以访问到a中定义的所有变量和函数。函数b被c引用，函数b又依赖函数a，因此函数a在返回后不会被GC回收。&lt;br /&gt;&lt;br /&gt;当函数b执行的时候亦会像以上步骤一样。因此，执行时b的作用域链包含了3个对象：b的活动对象、a的活动对象和window对象，如下图所示：&lt;br /&gt;&lt;br /&gt;如图所示，当在函数b中访问一个变量的时候，搜索顺序是先搜索自身的活动对象，如果存在则返回，如果不存在将继续搜索函数a的活动对象，依&amp;nbsp;次查找，直到找到为止。如果整个作用域链上都无法找到，则返回undefined。如果函数b存在prototype原型对象，则在查找完自身的活动对象&amp;nbsp;后先查找自身的原型对象，再继续查找。这就是Javascript中的变量查找机制。&lt;br /&gt;&lt;br /&gt;四、闭包的应用场景&lt;br /&gt;1、保护函数内的变量安全。以最开始的例子为例，函数a中i只有函数b才能访问，而无法通过其他途径访问到，因此保护了i的安全性。&lt;br /&gt;2、在内存中维持一个变量。依然如前例，由于闭包，函数a中i的一直存在于内存中，因此每次执行c()，都会给i自加1。&lt;br /&gt;以上两点是闭包最基本的应用场景，很多经典案例都源于此。&lt;br /&gt;&lt;br /&gt;五、Javascript的垃圾回收机制&lt;br /&gt;在Javascript中，如果一个对象不再被引用，那么这个对象就会被GC回收。如果两个对象互相引用，而不再被第3者所引用，那么这两个互相引用的对象也会被回收。因为函数a被b引用，b又被a外的c引用，这就是为什么函数a执行后不会被回收的原因。&lt;br /&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2312155.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2012/01/04/2312155.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/12/26/2302579.html</id><title type="text">安装SQL Server 2005过程出现错误:“SQL Server 服务无法启动”的解决办法</title><summary type="text">注：最后的粗体字为最终解决办法。近日遇到一台曙光天阔A620R-H服务器，安装了win server 2003 R2的系统，需要来安装SQL Server 2005，系统是新做的，很干净。首先，安装了.netFramework2.0及IIS，拿来一版以前装过，而且没有问题的SQL Server 2005企业版，在安装到大约一半的时候，提示错误：“SQLServer服务部无法启动”。起初怀疑过权限的问题，在网上寻找了一些解决办法，都不行；在卸载重装SQL Server 2005两三次后，突然看到微软官网上的一条技术帮助信息，http://support.microsoft.com/kb/9548</summary><published>2011-12-26T13:52:00Z</published><updated>2011-12-26T13:52:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/12/26/2302579.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/12/26/2302579.html"/><content type="html">&lt;font size="2"&gt;&lt;span style="font-weight: bold"&gt;注：最后的粗体字为最终解决办法。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;近日遇到一台曙光天阔A620R-H服务器，安装了win server 2003 R2的系统，需要来安装SQL Server 2005，系统是新做的，很干净。首先，安装了.netFramework2.0及IIS，拿来一版以前装过，而且没有问题的SQL Server 2005企业版，在安装到大约一半的时候，提示错误：&amp;#8220;SQLServer服务部无法启动&amp;#8221;。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;起初怀疑过权限的问题，在网上寻找了一些解决办法，都不行；在卸载重装SQL Server 2005两三次后，突然看到微软官网上的一条技术帮助信息，http://support.microsoft.com/kb/954835/zh-cn。&lt;br /&gt;&lt;br /&gt;意思是，在具有多核处理器的计算机，您可能无法安装SQL Server 2005，而曙光天阔A620R-H服务器搭载一颗6核CPU，所以不能安装SQL Server 2005，得到这个答案的确让人沮丧，不禁感慨微软的万恶。。。继续向下看，这个问题的解决办法如下：&lt;br /&gt;&lt;br /&gt;&#xD;
&lt;p&gt;&lt;wbr&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在安装SQL 2005标准版（不多于四个CPU）和企业版（无限制）时，CPU的总核数必须是2的n次方。即核心数为1，2，4，8，16，32依次类推。因BL680C核心数为6x4=24，所以不能正常安装。当将核心数更改为8，16时，顺利完成安装。&lt;/p&gt;说实话，觉得这么做很不可思议，居然与核心数有关。继续吧，按照上面所说的步骤，修改了&amp;#8220;/NUMPROC&amp;#8221;，此处我先说一下，我把&amp;#8220;/NUMPROC&amp;#8221;改为1,4,8都不能正常安装SQL Server 2005，唯独改为2后，可以正常安装。&lt;br /&gt;&lt;br /&gt;&amp;#8220;/NUMPROC&amp;#8221;改为2后，重启服务器，可以在任务管理器中看到，原来的12核心，已经变为2个核心。&lt;br /&gt;用Windows Installer CleanUP将SQL Server 2005删掉，再删掉注册表中的&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQLServer&lt;br /&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERAGENT&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVERADHELPER&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQLServer&lt;br /&gt;最后删掉C:\ProgramFiles\MicrosoftSQLServer；重启后，来重新安装SQL Server 2005，安装过程中没有再出现这个&amp;#8220;SQLServer服务部无法启动&amp;#8221;的问题了；然后安装SQL Server 2005 SP3补丁（据说这个补丁已解决了这个问题），但在安装补丁的过程中，程序提示&amp;#8220;无法安装&amp;#8221;，让人无奈！&lt;br /&gt;这个问题的出现让我怀疑到SQL Server 2005在重装前是否已卸载干净，于是，重做了一次win server 2003SP2的系统，再重复上述的操作，一切正常了，悬着的心也落下了。。。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;上面长篇累牍，看起来有些乱，下面整理了正确的安装步骤，大家参考吧。&lt;br /&gt;====================================================================&lt;br /&gt;&lt;span style="color: rgb(0,183,239); font-weight: bold"&gt;1.单击开始，单击运行，键入msconfig，然后单击确定。在系统配置实用程序对话框中，单击BOOT.INI选项卡。在BOOT.INI选项卡上单击高级选项。在BOOT.INI高级选项对话框中，单击以选中在/NUMPROC=复选框。在旁边的列表在/NUMPROC=复选框，单击2，然后单击确定。在系统配置实用程序对话框中，单击确定。重新启动服务器。&lt;/span&gt;&lt;br style="color: rgb(0,183,239); font-weight: bold" /&gt;&lt;span style="color: rgb(0,183,239); font-weight: bold"&gt;2.安装SQL Server 2005。&lt;/span&gt;&lt;br style="color: rgb(0,183,239); font-weight: bold" /&gt;&lt;span style="color: rgb(0,183,239); font-weight: bold"&gt;3.安装SQL Server 2005 sp3补丁，安装结束后，重新启动服务器。&lt;/span&gt;&lt;br style="color: rgb(0,183,239); font-weight: bold" /&gt;&lt;span style="color: rgb(0,183,239); font-weight: bold"&gt;4.将上面说的&amp;#8220;/NUMPROC&amp;#8221;去掉钩，重新启动服务器。&lt;/span&gt;&lt;br style="color: rgb(0,183,239); font-weight: bold" /&gt;&lt;span style="color: rgb(0,183,239); font-weight: bold"&gt;5.大功告成！&lt;/span&gt;&lt;br /&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2302579.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/12/26/2302579.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/10/10/2206583.html</id><title type="text">动态修改div的xy值</title><summary type="text">$(&amp;quot;div&amp;quot;).mousedown(function(e){$(this).css({x:e.pageX,y:e.pageY}).show();});$(&amp;quot;div&amp;quot;).mousedown(function(e){$(this).css({x:e.pageX,y:e.pageY}).show();}).mouseup(function(){$(this).hide()});</summary><published>2011-10-10T13:20:00Z</published><updated>2011-10-10T13:20:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/10/10/2206583.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/10/10/2206583.html"/><content type="html">&lt;p&gt;$("div").mousedown(function(e){&lt;br /&gt;$(this).css({&lt;br /&gt;x:e.pageX,&lt;br /&gt;y:e.pageY&lt;br /&gt;}).show();&lt;br /&gt;});&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;$("div").mousedown(function(e){&lt;br /&gt;$(this).css({&lt;br /&gt;x:e.pageX,&lt;br /&gt;y:e.pageY&lt;br /&gt;}).show();&lt;br /&gt;}).mouseup(function(){$(this).hide()});&lt;/p&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2206583.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/10/10/2206583.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/05/20/2052136.html</id><title type="text">asp.net mvc 与jquery应用总结</title><summary type="text">1.DropDownList的Name和ViewData相同时SelectList 的selected 失效1SelectListZDZListItem=newListItem&amp;lt;HGZP.Model.Cjb_list_fxz&amp;gt;().GetListItem(ZDZList,&amp;quot;s_mch&amp;quot;,&amp;quot;s_mch&amp;quot;,2orderInfo.CurrentZDZ);34&amp;lt;%varaa=((SelectList)ViewData[&amp;quot;ZDZ111&amp;quot;]).SelectedValue.ToString();5if(!string.IsNull</summary><published>2011-05-20T08:33:00Z</published><updated>2011-05-20T08:33:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/05/20/2052136.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/05/20/2052136.html"/><content type="html">&lt;p&gt;1.&lt;span style="font-size: 12pt"&gt;DropDownList的Name和ViewData相同时&lt;/span&gt;&lt;font color="#f56400" size="4" face="Arial"&gt;&lt;span style="color: #000000; font-size: 12pt"&gt;SelectList 的selected 失效&lt;/span&gt;&lt;/font&gt;&lt;font color="#f56400" size="4" face="Arial"&gt;&lt;span style="color: #000000; font-size: 12pt"&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;SelectList&amp;nbsp;ZDZListItem&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ListItem&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;HGZP.Model.Cjb_list_fxz&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;().GetListItem(ZDZList,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;s_mch&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;s_mch&lt;/span&gt;&lt;span style="color: #800000"&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;&amp;nbsp;&lt;span style="color: #000000"&gt;orderInfo.CurrentZDZ);&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;var&amp;nbsp;aa&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;((SelectList)ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ZDZ111&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]).SelectedValue.ToString();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&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: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNullOrEmpty(aa)){&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;:Html.DropDownListFor(OrderInfo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OrderInfo.ZDZ,&amp;nbsp;ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ZDZ111&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SelectList,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ddlZDZ&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp; Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;width:70px&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;@class&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;focus&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;disabled&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;true&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;})&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;}&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;{&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&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;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;:Html.DropDownListFor(OrderInfo&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;OrderInfo.ZDZ,&amp;nbsp;ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ZDZ111&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;as&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SelectList,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&amp;nbsp;id&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ddlZDZ&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&amp;nbsp; Style&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;width:70px&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;@class&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;focus&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;})&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&amp;lt;%=&lt;/span&gt;&lt;span style="color: #000000"&gt;Html.DropDownList(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ddlSysid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;(SelectList)ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;ZDZ111&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;])&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;2.使用jquery.form.js上传文件&lt;/p&gt;&#xD;
&lt;p&gt;服务器上传文件目录名称不能与controller名称相同，如果相同URL导航会出现错误&lt;/p&gt;&#xD;
&lt;p&gt;ajaxSubmit方法中dataType使用默认值不能用json&lt;/p&gt;&#xD;
&lt;p&gt;服务器端返回时要跳转到其他view&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;strJson&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;{suc:1,msg:'保存成功！',orderId:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orderInfo.OrderId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;',orderDetailId:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orderInfo.OrderDetailId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;@"&lt;/span&gt;&lt;span style="color: #800000"&gt;',chargeId:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orderInfo.ChargeId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;',giftDetailId:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orderInfo.GiftDetailId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;',PaperBoxNum:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;br /&gt;orderInfo.PaperBoxNum&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;',SubscibeNum:'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;orderInfo.SubscibeNum&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;'}&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;br /&gt;ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;strJson&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;strJson;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;View(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;~/Areas/OrderInfoManage/Views/FileUploadSuccess.aspx&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;strJson&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;@&amp;nbsp;Page&amp;nbsp;Language&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;C#&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Inherits&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;System.Web.Mvc.ViewPage&amp;lt;dynamic&amp;gt;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;String&amp;nbsp;json&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ViewData[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;strJson&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;].ToString();&lt;br /&gt;Response.Write(json);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;%&amp;gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;如果附加其他属性（form以外的）可以如下处理&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #000000"&gt;orderValue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JSON.stringify({&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtOrderId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderDetailId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtOrderDetailId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paperBoxNumOld:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtPaperBoxNumOld&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;subscibeNumOld:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtSubscibeNumOld&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chargeId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtChargeId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;giftDetailId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtGiftDetailId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;giftKCId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtGiftKCId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paperName:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#ddlNewsPaper&amp;nbsp;option:selected&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).text(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;giftName:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#ddlGift&amp;nbsp;option:selected&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).text(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isCheck:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtIsCheck&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;eval(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;orderValue&amp;nbsp;=&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JSON.stringify(JSON.parse(orderValue))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;';&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#orderManageForm&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).ajaxSubmit({&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;OrderManage/OrderAllAdd/&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;contentType:&amp;nbsp;"multipart/form-data",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;dataType:&amp;nbsp;'json',&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;strJson:&amp;nbsp;escape(orderValue)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearForm:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resetForm:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;success:&amp;nbsp;function&amp;nbsp;(data)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;json&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;eval(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;data&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;)&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(HTMLDeCode(json.msg));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(json.suc&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtOrderId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.orderId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtOrderDetailId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.orderDetailId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtChargeId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.chargeId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtGiftDetailId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.giftDetailId);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtPaperBoxNumOld&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.PaperBoxNum);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtSubscibeNumOld&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(json.SubscibeNum);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderValue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JSON.stringify({&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;orderId:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtOrderId&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isCheck:&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtIsCheck&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).val()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;eval(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;orderValue&amp;nbsp;=&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JSON.stringify(JSON.parse(orderValue))&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;';&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#orderGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).jqGrid(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;setGridParam&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postData:&amp;nbsp;{&amp;nbsp;strJson:&amp;nbsp;orderValue&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;jQuery(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#chargeGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).jqGrid(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;setGridParam&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postData:&amp;nbsp;{&amp;nbsp;strJson:&amp;nbsp;orderValue&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#orderGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).trigger(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;reloadGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#chargeGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).trigger(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;reloadGrid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveFlag&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;OrderUpdate&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#orderAllSaveBtn&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).attr(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;disabled&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;true&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;#txtZDDate&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).focus().trigger(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;focusin&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(e)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(e);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;JsonModel&amp;nbsp;jsonObj&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;JsonModel(System.Web.HttpUtility.UrlDecode(Request[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;strJson&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]));&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2052136.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/05/20/2052136.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/05/13/2045296.html</id><title type="text">Ajax 选项</title><summary type="text">在Ajax命名空间中的所有请求对象都共享一系列公共的选项和回调函数。 回调函数在请求生命周期的各个阶段被调用，并且它们具有相同的参数列表。在请求期间，参数所包括的选项被不断的传递到请求中。公用选项 选项默认值描述asynchronoustrue指出XMLHttpRequest是否是异步的。因为同步的方式在某种程度上具有一定的不确定性， 通常不是一个好的选择，应尽量避免使用。contentType&amp;#39;application/x-www-form-urlencoded&amp;#39;请求头部的Content-Type（译注：form 元素的 enctype 属性）设置。可能你想要发送的内容是 XM</summary><published>2011-05-13T03:03:00Z</published><updated>2011-05-13T03:03:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045296.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045296.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; line-height: 22px; font-family: 'Helvetica Neue', Arial, sans-serif; color: rgb(51,51,51); font-size: 15px" &gt; &#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;Ajax&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;命名空间中的所有请求对象都共享一系列公共的&lt;strong&gt;选项&lt;/strong&gt;和&lt;strong&gt;回调函数&lt;/strong&gt;。 回调函数在请求生命周期的各个阶段被调用，并且它们具有相同的参数列表。在请求期间，参数所包括的选项被不断的传递到请求中。&lt;/p&gt;&#xD;
&lt;h3 style="padding-bottom: 0px; margin: 0px 0px 5px -5px; padding-left: 0px; padding-right: 0px; font-family: 'Helvetica Neue', Arial, sans-serif; color: rgb(187,119,17); font-size: 17px; font-weight: bold; padding-top: 0px"&gt;公用选项&lt;/strong&gt;&lt;/p&gt;　 &#xD;
&lt;table style="margin: 10px 0px"  cellspacing="0" cellpadding="0"&gt;&#xD;
&lt;thead&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;选项&lt;/th&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;默认值&lt;/th&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;asynchronous&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;true&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;指出&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;XMLHttpRequest&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;是否是异步的。因为同步的方式在某种程度上具有一定的不确定性， 通常不是一个好的选择，应尽量避免使用。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;contentType&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'application/x-www-form-urlencoded'&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;请求头部的&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Content-Type&lt;/code&gt;（译注：form 元素的 enctype 属性）设置。可能你想要发送的内容是 XML 格式而不是常规的 URL 编码格式，这时，你就需要重新设置这个选项。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;encoding&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'UTF-8'&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;请求内容的编码方式。最好使用默认的设置，但是如果发生一些离奇的编码问题，你必须修正它， 使你页面中与编码相关的部分和服务器上保持一致。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;method&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'post'&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;HTTP 的请求方式。另一个常用的方式是&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'get'&lt;/code&gt;。在专用于 Ruby On Rails 时，Prototype 也能响应其它的谓词（例如&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'put'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;和&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'delete'&lt;/code&gt;，事实上，这些谓词是在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'post'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;方式上增加了一个额外的参数&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'_method'&lt;/code&gt;）。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;parameters&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;''&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;请求的参数。在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'get'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;方式下，参数被编码并附加到 URL 中（译注：URL 中的查询字符串）， 其它方式下，参数被插入到请求数据主体中。参数的类型可以是一个 URL 编码字符串，也可以是任意一个与&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/api/hash.htm"&gt;Hash&lt;/a&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;兼容的对象（Prototype 会自动将兼容对象的属性名称和属性值转换为名值对作为参数）。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;postBody&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;None&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'post'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;（实际应用中可能会有一些变化，上面的&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;method&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;选项对此做了描述）方式下，指定请求发送的内容。如果该参数为空，则使用&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;parameters&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;选项填充内容。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;requestHeaders&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;请查看说明&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;请求头可以使用下述两种方式进行传递：&lt;/p&gt;&#xD;
&lt;ul style="padding-bottom: 0px; margin: 10px 0px 10px 35px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;作为一个&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;object&lt;/strong&gt;：使用属性来描述请求头。&lt;/li&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;作为一个&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;array&lt;/strong&gt;：偶数索引 (0, 2&amp;#8230;) 元素表示头名称，奇数索引 (1, 3&amp;#8230;) 元素表示对应的值。&lt;/li&gt;&lt;/ul&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Prototype 默认提供了一组预设的请求头，这些选项可以被重写，你也可以增加新的选项：&lt;/p&gt;&#xD;
&lt;ul style="padding-bottom: 0px; margin: 10px 0px 10px 35px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;X-Requested-With&lt;/code&gt;&lt;/strong&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;被设置为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;'XMLHttpRequest'&lt;/code&gt;。&lt;/li&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;X-Prototype-Version&lt;/code&gt;&lt;/strong&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;提供 Prototype 的当前版本号（如：1.5.0）。&lt;/li&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;Accept&lt;/code&gt;&lt;/strong&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;默认为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;'text/javascript, text/html, application/xml, text/xml, */*'&lt;/code&gt;&lt;/li&gt;&lt;li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;Content-type&lt;/code&gt;&lt;/strong&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;基于&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;contentType&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;和&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;encoding&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;选项的值生成。&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;evalJS&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;true&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;如果服务器返回的 content-type 是下述类型之一：&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;application/ecmascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;application/javascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;application/x-ecmascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;application/x-javascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;text/ecmascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;text/javascript&lt;/code&gt;,&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;text/x-ecmascript&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;或&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;text/x-javascript&lt;/code&gt;，&lt;em&gt;并且&lt;/em&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;请求遵循&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://en.wikipedia.org/wiki/Same_origin_policy"&gt;&lt;abbr title="Same Origin Policy"&gt;SOP&lt;/abbr&gt;&lt;/a&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;（译注：&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/Reference/SOP.htm"&gt;中文说明&lt;/a&gt;）Prototype 默认会自动执行&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Response#responseText&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;内容中的 Javascript 代码。如果你想要在任何情况下，均强制执行内容中的 Javascript 代码，请将该选项设为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;，为完全阻止代码的执行，设为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'false'&lt;/code&gt;。&lt;br /&gt;&lt;strong&gt;译注：&lt;/strong&gt;该选项设为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'true'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;或&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;时，会执行返回内容中的 Javascript 代码，并且代码不需要置于 &amp;lt;script&amp;gt; 和 &amp;lt;/script&amp;gt; 标签中。例如返回的内容值为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;alert('Hello world')&lt;/code&gt;， Prototype 也会执行该语句，而不是把它当作一个普通的字符串。&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;和&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'true'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;的区别在于： 若返回内容的 content-type 不是上述列出的类型，&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;会强制把返回内容当作 Javascript 代码执行，而&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'true'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;不会执行。例如返回的 content-type 为&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;text/plain&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;时，&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;会执行，而&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'true'&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;不执行。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;evalJSON&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;true&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;如果服务器返回数据的 content-type 类型为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;application/json&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;，则自动解析执行&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Response#responseText&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;的内容，然后填充到&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Response#responseJSON&lt;/code&gt;。 如果请求不遵循&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://en.wikipedia.org/wiki/Same_origin_policy"&gt;&lt;abbr title="Same Origin Policy"&gt;SOP&lt;/abbr&gt;&lt;/a&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;（译注：&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/Reference/SOP.htm"&gt;中文说明&lt;/a&gt;）规范，在执行前会对内容进行过滤。如果你希望强制执行，请将该选项设置为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'force'&lt;/code&gt;，为完全阻止代码的执行，设为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;'false'&lt;/code&gt;。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;sanitizeJSON&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;本地请求为&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;false&lt;/code&gt;，否则为&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;true&lt;/code&gt;&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;在运行之前过滤&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Response#responseText&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;的内容。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xD;
&lt;h3 style="padding-bottom: 0px; margin: 0px 0px 5px -5px; padding-left: 0px; padding-right: 0px; font-family: 'Helvetica Neue', Arial, sans-serif; color: rgb(187,119,17); font-size: 17px; font-weight: bold; padding-top: 0px"&gt;公用回调函数&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;用于单独的对象实例时（&lt;strong&gt;译注：&lt;/strong&gt;&amp;#8220;单独的对象实例&amp;#8221;是相对&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/api/ajax/responders.htm"&gt;&lt;cod&gt;Ajax.Responders&lt;/cod&gt;&lt;/a&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;而言，&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;Ajax.Responders&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;是一个全局的对象，面向所有通过 Prototype 发出的 Ajax 请求），所有的回调函数（除&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;onException&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;外）均包含两个参数：&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;XMLHttpRequest&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;对象以及执行&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;X-JSON&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;响应头后的结果（如果有的话，可为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;null&lt;/code&gt;）。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/api/ajax/request.htm"&gt;Ajax.Request&lt;/a&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;中，从另外一个角度描述了回调函数在请求生命周期中调用的先后顺序以及回调函数的互斥性。&lt;/p&gt;&#xD;
&lt;table style="margin: 10px 0px"  cellspacing="0" cellpadding="0"&gt;&#xD;
&lt;thead&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;回调函数&lt;/th&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onCreate&lt;/code&gt;&lt;br /&gt;&lt;span style="color: gray; font-size: 12px"&gt;(v1.5.1)&lt;/span&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;当&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Request&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;对象被初始化后触发。回调发生在参数和 URL 被处理之后，第一次调用 XHR（XMLHttpRequest） 对象的方法之前。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onComplete&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;在请求生命周期的最未端被触发，用于在请求完成后，与指定状态代码相关的回调函数（译注：on&lt;em&gt;XYZ&lt;/em&gt;） 也被调用后，处理一些可能需要的善后事宜。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onException&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;当 XHR 发生错误时触发。有一个约定俗成的函数签名方式：第一个参数是请求本身（如&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Request&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;实例），第二个参数是异常对象。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onFailure&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;在一个请求完成后，若存在相应的状态代码，但状态代码不是 2xy 系列，将调用 onFailure。 如果已经定义了与指定状态代码相关的回调函数，该回调将不被执行。回调发生在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onComplete&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;之前。&lt;br /&gt;&lt;strong&gt;译注：&lt;/strong&gt;参见&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/Reference/Status.htm"&gt;状态代码表&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onInteractive&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）服务器响应的数据通常是通过多个包来发送的，当每次接收到其中一部分数据（但不是最后一部分）时触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onLoaded&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）当基础的 XHR 对象被创建，连接已打开，并准备发送实际的请求时，触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onLoading&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）在基础的 XHR 对象创建过程中，连接被打开时，触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onSuccess&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;当一个请求完成时，没有返回状态代码，或者返回的状态代码是 2xy 系列，调用该回调。 如果已经定义了与指定状态代码相关的回调函数，该回调将不被执行。回调发生在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onComplete&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;之前。&lt;br /&gt;&lt;strong&gt;译注：&lt;/strong&gt;参见&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/Reference/Status.htm"&gt;状态代码表&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onUninitialized&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）当 XHR 对象刚被创建时调用。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;on&lt;/code&gt;&lt;em&gt;XYZ&lt;/em&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;em&gt;XYZ&lt;/em&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;表示 XMLHttp 请求返回的状态代码。当响应刚完成，并且返回的状态代码与你指定的&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;em&gt;XYZ&lt;/em&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;值相同时调用该回调。它会阻止&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onSuccess&lt;/code&gt;/&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onFailure&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;执行。 回调发生在&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onComplete&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;之前。&lt;br /&gt;&lt;strong&gt;译注：&lt;/strong&gt;参见&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/Reference/Status.htm"&gt;状态代码表&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xD;
&lt;h3 style="padding-bottom: 0px; margin: 0px 0px 5px -5px; padding-left: 0px; padding-right: 0px; font-family: 'Helvetica Neue', Arial, sans-serif; color: rgb(187,119,17); font-size: 17px; font-weight: bold; padding-top: 0px"&gt;响应回调&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 0px 0px 15px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;当用于响应器（responders，译注：&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(255,102,0); text-decoration: none; padding-top: 0px" href="http://www.123-cha.com/prototype/api/ajax/responders.htm"&gt;Ajax.Responders&lt;/a&gt;）时，所有被调用的回调函数（除&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;onException&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;和&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;onCreate&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;外）都具有三个参数：请求本身（例如&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;Ajax.Request&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;的实例），&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;XMLHttpRequest&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;对象和执行&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;X-JSON&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;响应头后的结果（如果有，可为&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;null&lt;/code&gt;）。它们运行在响应的上下文中，&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(32,128,128); padding-top: 0px"&gt;this&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;引用被绑定到响应本身。&lt;/p&gt;&#xD;
&lt;table style="margin: 10px 0px"  cellspacing="0" cellpadding="0"&gt;&#xD;
&lt;thead&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;回调函数&lt;/th&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;描述&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onCreate&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;当一个请求对象通过&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;命名空间创建，并且已经设置好它的参数，但它的 XHR 连接尚未打开的时候触发该回调。它具有两个参数：请求的对象和基础的 XHR 对象。&lt;/td&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onComplete&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;在请求生命周期的最未端被触发，用于在请求完成后，与指定状态代码相关的回调函数（译注：on&lt;em&gt;XYZ&lt;/em&gt;） 也被调用后，处理一些可能需要的善后事宜。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onException&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;当 XHR 发生错误时触发。有一个约定俗成的函数签名方式：第一个参数是请求本身（如&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Ajax.Request&lt;/code&gt;&lt;span &gt;&amp;nbsp;&lt;/span&gt;实例），第二个参数是异常对象。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onInteractive&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）服务器响应的数据通常是通过多个包来发送的，当每次接收到其中一部分数据（但不是最后一部分）时触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onLoaded&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）当基础的 XHR 对象被创建，连接已打开，并准备发送实际的请求时，触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onLoading&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）在基础的 XHR 对象创建过程中，连接被打开时，触发该回调。&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;th style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;&lt;code style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;onUninitialized&lt;/code&gt;&lt;/th&gt;&#xD;
&lt;td style="border-bottom: rgb(238,238,238) 1px solid; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; font-size: 14px; vertical-align: top; padding-top: 5px"&gt;（不保证可用）当 XHR 对象刚被创建时调用。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2045296.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045296.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/05/13/2045270.html</id><title type="text">这才是真正的JQuery.ajax传递中文参数的解决方法</title><summary type="text">许多人在使用JQuery.ajax方法时肯定会遇到一个问题。在编码不是UTF-8的时候，当传递的参数里有中文的时候，服务端Request的时候都会出现乱码。本人最近也遇到了需要传递中文参数的问题。在网上搜索一下，复制粘贴发的到处都是的“终极”“解决方案”无非就是escape(str)来转码，然后在服务端还要写个方法再编辑一次，或用System.Text.Encoding下的方法来换来换去。我很久以前一直在使用Prototype框架。在.net-GB2312或jsp-utf8下都使用过，从来没遇到有字符编码的问题。于是将Prototype和JQuery代码都下载下来打开研究原因。具体结果如下不.</summary><published>2011-05-13T02:44:00Z</published><updated>2011-05-13T02:44:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045270.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045270.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="text-align: left; line-height: 21px; font-family: verdana, sans-serif; font-size: 14px" &gt; &#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;许多人在使用JQuery.ajax方法时肯定会遇到一个问题。在编码不是UTF-8的时候，当传递的参数里有中文的时候，服务端Request的时候都会出现乱码。本人最近也遇到了需要传递中文参数的问题。在网上搜索一下，复制粘贴发的到处都是的&amp;#8220;终极&amp;#8221;&amp;#8220;解决方案&amp;#8221;无非就是escape(str)来转码，然后在服务端还要写个方法再编辑一次，或用System.Text.Encoding下的方法来换来换去。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;我很久以前一直在使用Prototype框架。在.net-GB2312或jsp-utf8下都使用过，从来没遇到有字符编码的问题。于是将Prototype和JQuery代码都下载下来打开研究原因。具体结果如下&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="JQuery与Prototype创建Ajax代码比较" src="http://p.blog.csdn.net/images/p_blog_csdn_net/maklonzjing/EntryImages/20090222/txt1633709313734920000.jpg" width="600" height="400" /&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="color: rgb(51,102,153); text-decoration: none" href="http://p.blog.csdn.net/images/p_blog_csdn_net/maklonzjing/EntryImages/20090222/txt1633709313734920000.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;br /&gt;不同之处在于JQuery默认的contentType:application/x-www-form-urlencoded&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;而Prototype则是contentType:application/x-www-form-urlencoded; charset=UTF-8&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;这才是JQuery正在乱码的原因，在未指定字符集的时候，是使用ISO-8859-1&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ISO8859-1，通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;JQuery的Ajax根本没有考虑到国际化的问题，使用了欧洲的字符集，所以才引起了传递中文出现乱码的问题。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;而我们的UTF-8则可以解决这一问题。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;最终指需要修改JQuery的代码，显式声明contentType使用utf-8字符集，即可解决GB2312中文传递的问题。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;修改如图：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" alt="修改JQuery代码" src="http://p.blog.csdn.net/images/p_blog_csdn_net/maklonzjing/EntryImages/20090222/txt2633709313736013750.jpg" width="601" height="328" /&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;只需要简单的将JQuery的代码加以修改，加上charset=UTF-8就可以了，这样不需要改变改什么web.config或什么在页面中改编码什么的了，也不需要用escapc(str)再在服务端解码。英文怎么传递，中文也怎么传递。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;给段简单的代码测试一下：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;test.html:&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "&lt;a style="color: rgb(51,102,153); text-decoration: none" href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="&lt;a style="color: rgb(51,102,153); text-decoration: none" href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;"&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="scripts/jquery-1.3.2.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&amp;nbsp;function DoAjax(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;$.post("AjaxTest.aspx",{txt:$("#tbox1").val()},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function(data){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$("#AjaxResponse").text(data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;);&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;a href="javascript:DoAjax();"&amp;gt;AjaxTest&amp;lt;/a&amp;gt;&amp;lt;input name="tbox1" id="tbox1" type="text" /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;div id="AjaxResponse"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;AjaxTest.aspx:&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; margin: 1em 0px 0.5em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&amp;lt;%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %&amp;gt;&lt;br /&gt;&amp;lt;script runat="server"&amp;gt;&lt;br /&gt;&amp;nbsp;string parms;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;void Page_Load(object sender , EventArgs e)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;parms=Request["txt"];&lt;br /&gt;&amp;nbsp;&amp;nbsp;if (String.IsNullOrEmpty(parms)){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write("Is Null");&lt;br /&gt;&amp;nbsp;&amp;nbsp;}else{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(parms);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2045270.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/05/13/2045270.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/05/07/2039856.html</id><title type="text">ASP.NET MVC生命周期介绍(转)</title><summary type="text">本文以IIS7中asp.net应用程序生命周期为例，介绍了asp.net mvc的生命周期。asp.net应用程序管道处理用户请求时特别强调&amp;quot;时机&amp;quot;，对asp.net生命周期的了解多少直接影响我们写页面和控件的效率。对于asp.net mvc,我对它的生命周期兴趣很浓，于是对ASP.NET MVC生命周期提出两个问题：一个HTTP请求从IIS移交到asp.net运行时,asp.net mvc是在什么时机获得了控制权并对请求进行处理呢?处理过程又是怎样的?498)this.width=498;&amp;quot; height=362&amp;gt;498)this.width=498;&amp;q</summary><published>2011-05-07T08:13:00Z</published><updated>2011-05-07T08:13:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039856.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039856.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 12px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="line-height: 26px" &gt; &#xD;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 24px; padding-right: 24px; padding-top: 0px" &gt;&#xD;
&lt;ul style="border-bottom: rgb(221,230,241) 1px dashed; border-left: rgb(221,230,241) 1px dashed; padding-bottom: 4px; line-height: 24px; background-color: rgb(254,253,232); list-style-type: none; margin: 0px; padding-left: 16px; width: 554px; padding-right: 16px; color: rgb(0,81,151); font-size: 14px; border-top: rgb(221,230,241) 1px dashed; border-right: rgb(221,230,241) 1px dashed; padding-top: 8px" &gt;本文以IIS7中asp.net应用程序生命周期为例，介绍了asp.net mvc的生命周期。&lt;/ul&gt;&lt;/div&gt;&#xD;
&lt;ul style="padding-bottom: 0px; line-height: 26px; border-right-width: 0px; list-style-type: none; margin: 0px; padding-left: 24px; padding-right: 24px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; border-left-width: 0px; padding-top: 10px" &gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;asp.net应用程序管道处理用户请求时特别强调"时机"，对asp.net生命周期的了解多少直接影响我们写页面和控件的效率。对于asp.net mvc,我对它的生命周期兴趣很浓，于是对ASP.NET MVC生命周期提出两个问题：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;一个HTTP请求从IIS移交到asp.net运行时,asp.net mvc是在什么时机获得了控制权并对请求进行处理呢?处理过程又是怎样的?&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1839190.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="MSDN的一张HTTP请求处理过程发生事件的简图" src="http://images.51cto.com/files/uploadimg/20090723/1839190.jpg" width="303" onload="javascript:if(this.width&gt;498)this.width=498;" height=362&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1839191.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="事件列表" src="http://images.51cto.com/files/uploadimg/20090723/1839191.jpg" width="172" onload="javascript:if(this.width&gt;498)this.width=498;" height=383&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;以IIS7中asp.net生命周期为例，上图是来自MSDN的一张HTTP请求处理过程发生事件的简图，后面我列出了一个完整的事件列表。既然asp.net mvc还是以asp.net运行时为基础那么它必然要在asp.net应用程序的生命周期中对请求进行截获。第一反应当然是去web.config里面去翻翻，我们可以看到UrlRoutingModule的配置节：&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&amp;lt; add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;下面要做的就顺理成章了，用Reflector打开这个程序集,可以看到以下代码：&amp;nbsp;&lt;/p&gt;&lt;pre style="padding-bottom: 0px; overflow-x: auto; overflow-y: auto; background-color: rgb(230,230,230); margin: 0px 0px 1em; padding-left: 0px; width: 584px; padding-right: 0px; font-family: 'Courier New', monospace; font-size: 12px; padding-top: 0px; background-origin: initial; background-clip: initial"&gt;&lt;ol style="background-image: url(http://images.51cto.com/images/art0910/images/010101bg.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 5px; line-height: 30px; list-style-type: decimal; margin: 0px 0px 1px 3em; padding-left: 20px; padding-right: 0px; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 5px; background-origin: initial; background-clip: initial" &gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;protected&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;virtual&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;void&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;Init(HttpApplication&amp;nbsp;application) &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;application.PostResolveRequestCache&amp;nbsp;+=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;EventHandler(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;this&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;.OnApplicationPostResolveRequestCache); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;application.PostMapRequestHandler&amp;nbsp;+=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;EventHandler(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;this&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;.OnApplicationPostMapRequestHandler); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;看到这里我们的第一个问题实际上已经有了答案：时机是在PostResolveRequestCache和PostMapRequestHandler.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;我们使用VS2008中asp.net mvc模板创建一个Demo完成后续的讨论，当我们访问/Home的时候发生了什么呢？&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;1、Request 请求到来&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;2、IIS 根据请求特征将处理权移交给 asp.net&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;3、UrlRoutingModule将当前请求在 Route Table中进行匹配&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;4、UrlRoutingModule在RouteCollection中查找Request匹配的RouteHandler,默认是mvcRouteHandler mvcRouteHandler 创建 mvcHandler实例.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;5、mvcHandler执行 ProcessRequest.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;6、mvcHandler 使用 IControllerFactory 获得实现了IController接口的实例,找到对应的HomeController&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;7、根据Request触发HomeController的Index方法&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;8、Index将执行结果存放在ViewData&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;9、HomeController的Index方法返回 ActionResult&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;10、Views/Home/Index.aspx将 ViewData呈现在页面上&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;11、Index.aspx执行ProcessRequest方法&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;12、Index.aspx执行Render方法 输出到客户端&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;通过阅读asp.net mvc的源码,我们可以得到更为详细的处理过程,我尽可能的忽略掉枝节，强调请求处理的流程.我们从Global.asax.cs文件切入,下面是一段样例代码,这里初始化了路由表,请特别特别注意注释部分:&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;/p&gt;&lt;pre style="padding-bottom: 0px; overflow-x: auto; overflow-y: auto; background-color: rgb(230,230,230); margin: 0px 0px 1em; padding-left: 0px; width: 584px; padding-right: 0px; font-family: 'Courier New', monospace; font-size: 12px; padding-top: 0px; background-origin: initial; background-clip: initial"&gt;&lt;ol style="background-image: url(http://images.51cto.com/images/art0910/images/010101bg.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 5px; line-height: 30px; list-style-type: decimal; margin: 0px 0px 1px 3em; padding-left: 20px; padding-right: 0px; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 5px; background-origin: initial; background-clip: initial" &gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;public&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;class&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;mvcApplication&amp;nbsp;:&amp;nbsp;System.Web.HttpApplication &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;public&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;static&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;void&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;RegisterRoutes(RouteCollection&amp;nbsp;routes) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routes.IgnoreRoute(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"{resource}.axd/{*pathInfo}"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//The&amp;nbsp;controller&amp;nbsp;route&amp;nbsp;value&amp;nbsp;is&amp;nbsp;a&amp;nbsp;special&amp;nbsp;value&amp;nbsp;that&amp;nbsp;the&amp;nbsp;System.Web.mvc.mvcHandler&amp;nbsp;class&amp;nbsp;uses&amp;nbsp;to&amp;nbsp;call&amp;nbsp;into&amp;nbsp;the&amp;nbsp;IControllerFactory&amp;nbsp;interface. &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//The&amp;nbsp;basic&amp;nbsp;route&amp;nbsp;handler&amp;nbsp;is&amp;nbsp;an&amp;nbsp;instance&amp;nbsp;of&amp;nbsp;IRouteHandler&amp;nbsp;named&amp;nbsp;mvcRouteHandler. &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//We&amp;nbsp;have&amp;nbsp;complete&amp;nbsp;control&amp;nbsp;and&amp;nbsp;could&amp;nbsp;provide&amp;nbsp;our&amp;nbsp;own&amp;nbsp;implementation&amp;nbsp;of&amp;nbsp;IRouteHandler&amp;nbsp;if&amp;nbsp;we&amp;nbsp;wished. &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;routes.MapRoute( &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"Default"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//&amp;nbsp;Route&amp;nbsp;name &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"{controller}/{action}/{id}"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//&amp;nbsp;URL&amp;nbsp;with&amp;nbsp;parameters &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;{&amp;nbsp;controller&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"Home"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;,&amp;nbsp;action&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"Index"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;,&amp;nbsp;id&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;""&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,130,0); border-left-style: none; padding-top: 0px" &gt;//&amp;nbsp;Parameter&amp;nbsp;defaults &lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;protected&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;void&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;Application_Start() &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegisterRoutes(RouteTable.Routes); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;UrlRoutingMoudule在PostResolveRequestCache阶段从RouteCollection中获取当前请求的RouteData.RouteData包含了一个请求处理对应的Controller和Action,RouteData这个作用贯穿请求的处理过程.RouteData中提取RouteHandler,这里默认是mvcRouteHandler,mvcRouteHandler获取HttpHandler,这里默认的是mvcHandler.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;/p&gt;&lt;pre style="padding-bottom: 0px; overflow-x: auto; overflow-y: auto; background-color: rgb(230,230,230); margin: 0px 0px 1em; padding-left: 0px; width: 584px; padding-right: 0px; font-family: 'Courier New', monospace; font-size: 12px; padding-top: 0px; background-origin: initial; background-clip: initial"&gt;&lt;ol style="background-image: url(http://images.51cto.com/images/art0910/images/010101bg.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 5px; line-height: 30px; list-style-type: decimal; margin: 0px 0px 1px 3em; padding-left: 20px; padding-right: 0px; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 5px; background-origin: initial; background-clip: initial" &gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;PostResolveRequestCache &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;public&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;virtual&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;void&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;PostResolveRequestCache(HttpContextBase&amp;nbsp;context) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RouteData&amp;nbsp;routeData&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;this&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;.RouteCollection.GetRouteData(context); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;if&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;(routeData&amp;nbsp;!=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;null&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IRouteHandler&amp;nbsp;routeHandler&amp;nbsp;=&amp;nbsp;routeData.RouteHandler; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;if&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;(routeHandler&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;null&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;throw&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;InvalidOperationException(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;string&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;.Format(CultureInfo.CurrentUICulture,&amp;nbsp;RoutingResources.UrlRoutingModule_NoRouteHandler,&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;object&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;[0])); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;if&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;(!(routeHandler&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;is&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;StopRoutingHandler)) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestContext&amp;nbsp;requestContext&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;RequestContext(context,&amp;nbsp;routeData); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IHttpHandler&amp;nbsp;httpHandler&amp;nbsp;=&amp;nbsp;routeHandler.GetHttpHandler(requestContext); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;if&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;(httpHandler&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;null&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;) &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;throw&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;InvalidOperationException(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;string&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;.Format(CultureInfo.CurrentUICulture,&amp;nbsp;RoutingResources.UrlRoutingModule_NoHttpHandler,&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;object&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;[]&amp;nbsp;{&amp;nbsp;routeHandler.GetType()&amp;nbsp;})); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RequestData&amp;nbsp;data2&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: rgb(0,102,153); border-left-style: none; font-weight: bold; padding-top: 0px" &gt;new&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;RequestData(); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data2.OriginalPath&amp;nbsp;=&amp;nbsp;context.Request.Path; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data2.HttpHandler&amp;nbsp;=&amp;nbsp;httpHandler; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.Items[_requestDataKey]&amp;nbsp;=&amp;nbsp;data2; &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;context.RewritePath(&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: blue; border-left-style: none; padding-top: 0px" &gt;"~/UrlRouting.axd"&lt;/span&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;); &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial"&gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-position: outside !important;background-image: url(http://images.51cto.com/images/art0910/AppData/Roaming/Adobe/Dreamweaver%20CS4/zh_CN/Configuration/images/dt1.gif); border-bottom: 0px; border-left: 0px; padding-bottom: 0px !important; line-height: 24px; list-style-type: decimal-leading-zero; margin: 0px; padding-left: 14px; padding-right: 3px !important; color: rgb(0,0,0); border-top: 0px; border-right: 0px; padding-top: 0px !important; background-origin: initial; background-clip: initial" &gt;&lt;span style="border-bottom-style: none; padding-bottom: 0px; border-right-style: none; margin: 0px; padding-left: 0px; padding-right: 0px; border-top-style: none; color: black; border-left-style: none; padding-top: 0px"&gt;} &amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1839192.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="执行程序" src="http://images.51cto.com/files/uploadimg/20090723/1839192.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=70&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;mvcHandler.ProcessRequest()中首先使用HttpContextWrapper对HttpContext进行封装,封装的目的是为了解耦以获得可测试性.然后从RequestContext.RouteData中提取Controller名称.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ControllerBuilder.GetControllerFactory --&amp;gt; ControllerFactory.CreateController --&amp;gt; IController.Execute&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ControllerBase实现了IController接口,在Initialize时将RequestContext封装成为ControllerContext,Controller继承自ControllerBase并实现抽象方法ExecuteCore()&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1839193.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="执行程序" src="http://images.51cto.com/files/uploadimg/20090723/1839193.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=219&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;在ExecuteCore中,Controller首先从RouteData中获得ActionName,然后执行ActionInvoker.InvokeAction.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;在ActionInvoker中我们可以看到各种Filter,这是一种AOP实践:在Action方法执行的前后执行若干方法.这里有四种Filter:ActionFilters,ResultFilters,AuthorizationFilters,ExceptionFilters.这四种Filter并不是封闭的,都有对应的接口,这四个只是默认实现.Filter的执行顺序是:AuthorizationFilter---&amp;gt;Action Filter.OnActionExecuting---&amp;gt;Action Method---&amp;gt;ActionFilter.OnActionExecuted.InvokeActionMethodWithFilters返回的结果是ActionExecutedContext,接下来将Controller执行OnResultExecuting 方法.ActionResult执行的结果可以是ViewResult,JsonResult,RedirectResult,ContentResult,或者是自定义的Result类型.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;如果返回的类型是ViewResult,我们先看一下ViewReuslt的继承关系:ViewResult--&amp;gt;ViewResultBase--&amp;gt;ActionResult,ViewResult包含两个属性View和ViewEngineCollection,实际上是包含了两个接口的实现:IViewEngine定义了怎么定位View/Partial View.IView定义了如何RenderView.默认的实现时WebFormView和WebFormViewEngine.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Filter OnResultExecuted 最后一步了,可以这里捕获异常.上面我们说过还有ExceptionFilters,如果前面过程中的异常没有被捕获那么最终都会到冒泡到ExceptionFilters.&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;RouteData中获得ActionName&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ActionInvoker.InvokeAction&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;通过ControllerContext获取ControllerDescriptor&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;FindAction-获取ActionDescriptor&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;GetFilters&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ModelBinder把Request中的数据转换成Action方法需要的参数&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;AuthorizationFilter&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Action Filter.OnActionExecuting&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Action&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ActionFilter.OnActionExecuted&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ResultFilter.OnResultExecuting&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ActionResult Execution&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ResultFilter.OnResultExecuted&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;WebFormViewEngine.CreateView&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;WebFormView.Render&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;ResultFilter.OnExecuted&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1839194.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="生命周期" src="http://images.51cto.com/files/uploadimg/20090723/1839194.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=409&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;控制权归还到HttpApplication完成后续的asp.net mvc生命周期。&lt;/p&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;原文：&lt;a href="http://developer.51cto.com/art/200907/138884.htm"&gt;http://developer.51cto.com/art/200907/138884.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2039856.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039856.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/05/07/2039855.html</id><title type="text">ASP.NET页生命周期介绍：阶段，事件及其他(转)</title><summary type="text">本文概述了asp.net的页生命周期。在页生命周期的每个阶段中，页将引发可运行您自己的代码进行处理的事件。asp.net 页运行时，此页将经历一个生命周期，在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要，因为这样做您就能在生命周期的合适阶段编写代码，以达到预期效果。此外，如果您要开发自定义控件，就必须熟悉页生命周期，以便正确进行控件初始化，使用视图状态数据填充控件属性以及运行任何控件行为代码。（控件的生命周期基于页的生命周期，但是页引发的控件事件比单独的 asp.net 页中可用的事件多。）常规ASP.</summary><published>2011-05-07T08:11:00Z</published><updated>2011-05-07T08:11:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039855.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039855.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 12px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="line-height: 26px" &gt; &#xD;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 24px; padding-right: 24px; padding-top: 0px" &gt;&#xD;
&lt;ul style="border-bottom: rgb(221,230,241) 1px dashed; border-left: rgb(221,230,241) 1px dashed; padding-bottom: 4px; line-height: 24px; background-color: rgb(254,253,232); list-style-type: none; margin: 0px; padding-left: 16px; width: 554px; padding-right: 16px; color: rgb(0,81,151); font-size: 14px; border-top: rgb(221,230,241) 1px dashed; border-right: rgb(221,230,241) 1px dashed; padding-top: 8px" &gt;本文概述了asp.net的页生命周期。在页生命周期的每个阶段中，页将引发可运行您自己的代码进行处理的事件。&lt;/ul&gt;&lt;/div&gt;&#xD;
&lt;ul style="padding-bottom: 0px; line-height: 26px; border-right-width: 0px; list-style-type: none; margin: 0px; padding-left: 24px; padding-right: 24px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; border-left-width: 0px; padding-top: 10px" &gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;asp.net 页运行时，此页将经历一个生命周期，在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要，因为这样做您就能在生命周期的合适阶段编写代码，以达到预期效果。此外，如果您要开发自定义控件，就必须熟悉页生命周期，以便正确进行控件初始化，使用视图状态数据填充控件属性以及运行任何控件行为代码。（控件的生命周期基于页的生命周期，但是页引发的控件事件比单独的 asp.net 页中可用的事件多。）&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;常规ASP.NET页生命周期阶段&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;一般来说，页要经历下表概述的各个阶段。除了页生命周期阶段以外，在请求前后还存在应用程序阶段，但是这些阶段并不特定于页。有关更多信息，请参见 asp.net 应用程序生命周期概述。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1856460.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="常规页生命周期阶段" src="http://images.51cto.com/files/uploadimg/20090723/1856460.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=390&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;生命周期事件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;在ASP.NET页生命周期的每个阶段中，页将引发可运行您自己的代码进行处理的事件。对于控件事件，通过以声明方式使用属性（如 onclick）或以使用代码的方式，均可将事件处理程序绑定到事件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;页还支持自动事件连接，即，asp.net 将查找具有特定名称的方法，并在引发了特定事件时自动运行这些方法。如果 @ Page 指令的 AutoEventWireup 属性设置为 true（或者未定义该属性，因为该属性默认为 true），页事件将自动绑定至使用 Page_事件的命名约定的方法（如 Page_Load 和 Page_Init）。有关自动事件连接的更多信息，请参见 asp.net Web 服务器控件事件模型。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;下表列出了最常用的页生命周期事件。除了列出的事件外还有其他事件；不过，大多数页处理方案不使用这些事件。而是主要由 asp.net 网页上的服务器控件使用，以初始化和呈现它们本身。如果要编写自己的 asp.net 服务器控件，则需要详细了解这些阶段。有关创建自定义控件的信息，请参见开发自定义 asp.net 服务器控件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1856461.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="生命周期事件" src="http://images.51cto.com/files/uploadimg/20090723/1856461.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=548&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1856462.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="生命周期事件" src="http://images.51cto.com/files/uploadimg/20090723/1856462.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=355&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;其他的页生命周期注意事项&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;各个 asp.net 服务器控件都有自己的生命周期，该生命周期与页生命周期类似。例如，控件的 Init 和 Load 事件在相应的页事件期间发生。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;虽然 Init 和 Load 都在每个控件上以递归方式发生，但它们的发生顺序相反。每个子控件的 Init 事件（还有 Unload 事件）在为其容器引发相应的事件之前发生（由下到上）。但是，容器的 Load 事件是在其子控件的 Load 事件之前发生（由上到下）。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;可以通过处理控件的事件（如 Button 控件的 Click 事件和 ListBox 控件的 SelectedIndexChanged 事件）来自定义控件的外观或内容。在某些情况下，可能也需处理控件的 DataBinding 或 DataBound 事件。有关更多信息，请参见各个控件的类参考主题以及开发自定义 asp.net 服务器控件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;当从 Page 类继承类时，除了可以处理由页引发的事件以外，还可以重写页的基类中的方法。例如，可以重写页的 InitializeCulture 方法，以便动态设置区域性信息。注意，在使用 Page_事件语法创建事件处理程序时，将隐式调用基实现，因此无需在方法中调用它。例如，无论是否创建 Page_Load 方法，始终都会调用页基类的 OnLoad 方法。但是，如果使用 override 关键字（在 Visual Basic 中为 Overrides）重写页的 OnLoad 方法，则必须显式调用基方法。例如，如果在页中重写 OnLoad 方法，则必须调用 base.Load（在 Visual Basic 中为 MyBase.Load）以运行基实现。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;添加的控件的追赶事件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;如果控件是在运行时动态创建的，或者是以声明方式在数据绑定控件的模板中创建的，它们的事件最初与页上的其他控件的事件并不同步。例如，对于运行时添加的控件，Init 和 Load 事件在页生命周期中的发生时间可能要比以声明方式创建的控件的相同事件晚得多。因此，从实例化那一刻起，动态添加的控件的事件就一直是在模板中的控件的事件之后发生，直到赶上该控件加入 Controls 集合时所对应事件为止。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;一般来说，除非存在嵌套数据绑定控件，否则，您不必担心这种情况。如果子控件已执行数据绑定，但其容器控件尚未执行数据绑定，则子控件中的数据与其容器控件中的数据可能不同步。如果子控件中的数据根据容器控件中的数据绑定值执行了处理，这种情况则尤其显著。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;例如，假定有一个 GridView，它的每一行显示一条公司记录，此外，有一个 ListBox 控件包含公司管理者列表。若要填充管理者列表，则需要将 ListBox 控件绑定到一个数据源控件（如 SqlDataSource），后者在查询中使用 CompanyID 来检索公司管理者数据。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;如果以声明方式设置了 ListBox 控件的数据绑定属性（如 DataSourceID 和 DataMember），ListBox 控件将尝试在包含行的 DataBinding 事件期间绑定到其数据源。不过，行的 CompanyID 字段直到 GridView 控件的 RowDataBound 事件发生后才包含值。这种情况下，先绑定子控件（ListBox 控件），后绑定包含控件（GridView 控件），因此它们的数据绑定阶段并不同步。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;若要避免此种情况，需要将 ListBox 控件的数据源控件与 ListBox 控件自身放在同一模板项中，并且不要以声明方式设置 ListBox 的数据绑定属性。而应在 RowDataBound 事件期间在运行时以编程方式设置它们，这样，到 CompanyID 信息可用时 ListBox 控件才会绑定到其数据。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;有关更多信息，请参见使用数据源控件绑定到数据。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;数据绑定控件的数据绑定事件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;为了帮助您理解ASP.NET页生命周期与数据绑定事件之间的关系，下表列出了数据绑定控件（如 GridView、DetailsView 和 FormView 控件）中与数据相关的事件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1856463.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="数据绑定控件的数据绑定事件" src="http://images.51cto.com/files/uploadimg/20090723/1856463.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=363&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;登录控件事件&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;Login 控件可以使用 Web.config 文件中的设置来自动管理成员资格验证。不过，如果应用程序要求您自定义控件的工作方式，或者您要了解 Login 控件事件与页生命周期的关联方式，可以使用下表中列出的事件。&lt;/p&gt;&#xD;
&lt;p style="padding-bottom: 0px; text-indent: 28px; margin: 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;&lt;a style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,255); text-decoration: underline; padding-top: 0px" href="http://images.51cto.com/files/uploadimg/20090723/1856464.jpg" target="_blank"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; border-top: medium none; border-right: medium none; padding-top: 0px"  onmousewheel="javascript:return big(this)" border="0" alt="登录控件事件" src="http://images.51cto.com/files/uploadimg/20090723/1856464.jpg" width="498" onload="javascript:if(this.width&gt;498)this.width=498;" height=249&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;/ul&gt;&#xD;
&lt;p&gt;原文：&lt;a href="http://developer.51cto.com/art/200907/138885.htm"&gt;http://developer.51cto.com/art/200907/138885.htm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2039855.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/05/07/2039855.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/peijian708/archive/2011/04/29/2032425.html</id><title type="text">JQuery 实现网页的快捷键操作</title><summary type="text">今天同事与我分享了一个关于JQuery 实现B/S （或说网页）页面的快捷键操作方法，测试页面：http://img.jb51.net/online/jquery_HotKeys.html插件下载地址：http://code.google.com/p/js-hotkeys/downloads/list测试页面的一些代表性代码：jQuery(document).bind(&amp;#39;keydown&amp;#39;, &amp;#39;f6&amp;#39;,function (evt){jQuery(&amp;#39;#_f6&amp;#39;).addClass(&amp;#39;dirty&amp;#39;); return false; });</summary><published>2011-04-29T01:40:00Z</published><updated>2011-04-29T01:40:00Z</updated><author><name>J-Pei</name><uri>http://www.cnblogs.com/peijian708/</uri></author><link rel="alternate" href="http://www.cnblogs.com/peijian708/archive/2011/04/29/2032425.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/peijian708/archive/2011/04/29/2032425.html"/><content type="html">&lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" &gt;&lt;span style="line-height: 20px; font-family: Georgia; letter-spacing: 2px; color: rgb(149,149,149); font-size: 12px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px" &gt;今天同事与我分享了一个关于JQuery 实现B/S （或说网页）页面的快捷键操作方法，&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;&lt;strong style="line-height: normal"&gt;测试页面&lt;/strong&gt;：&lt;font style="line-height: normal" color="#ff0000"&gt;&lt;u style="line-height: normal"&gt;&lt;a style="line-height: 20px; font-family: Georgia; color: rgb(149,149,149); font-size: 12px; text-decoration: none" href="http://img.jb51.net/online/jquery_HotKeys.html" target="_blank"&gt;http://img.jb51.net/online/jquery_HotKeys.html&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/font&gt;&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;&lt;strong style="line-height: normal"&gt;插件下载地址&lt;/strong&gt;：&lt;font style="line-height: normal" color="#ff0000"&gt;&lt;u style="line-height: normal"&gt;&lt;a style="line-height: 20px; font-family: Georgia; color: rgb(149,149,149); font-size: 12px; text-decoration: none" href="http://code.google.com/p/js-hotkeys/downloads/list" target="_blank"&gt;http://code.google.com/p/js-hotkeys/downloads/list&lt;/a&gt;&lt;/u&gt;&lt;/font&gt;&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;测试页面的一些代表性代码：&lt;br style="line-height: normal" /&gt;jQuery(document).bind('keydown', 'f6',function (evt){jQuery('#_f6').addClass('dirty'); return false; });&lt;br style="line-height: normal" /&gt;jQuery.hotkeys.add('left',function (){jQuery('#_left').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.hotkeys.add('up',function (){jQuery('#_up').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.hotkeys.add('right',function (){jQuery('#_right').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.hotkeys.add('down',function (){jQuery('#_down').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.hotkeys.add('f1',function (){jQuery('#_f1').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;jQuery.hotkeys.add('Ctrl+a',function (){jQuery('#_Ctrl_a').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;jQuery.hotkeys.add('Alt+a',function (){jQuery('#_Alt_a').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;jQuery.hotkeys.add('Shift+a',function (){jQuery('#_Shift_a').addClass('dirty')});&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;$.hotkeys.add('键名', function(){ 要实现的目的});&lt;span &gt;&amp;nbsp;&lt;/span&gt;&lt;br style="line-height: normal" /&gt;&lt;br style="line-height: normal" /&gt;//键名可以是单键,也可以是组合键例如:ctrl+c就表示同时按下ctrl和c&lt;/span&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/peijian708/aggbug/2032425.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/peijian708/archive/2011/04/29/2032425.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
