<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_know@more</title><subtitle type="text">   追随着内心的声音,坚定着前行的方向...</subtitle><id>http://feed.cnblogs.com/blog/u/69359/rss</id><updated>2012-05-21T07:23:05Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/69359/rss"/><entry><id>http://www.cnblogs.com/know/archive/2012/04/29/2476189.html</id><title type="text">WAMP Server 和IIS 7在Windows中同时运行，更改 Wampserver默认端口的解决方法</title><summary type="text">WAMP Server 和IIS 7在Windows中同时运行，更改 Wampserver默认端口的解决方法</summary><published>2012-04-29T07:04:00Z</published><updated>2012-04-29T07:04:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/04/29/2476189.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/04/29/2476189.html"/><content type="html">&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 闲话少说，直入正题：打开WAMP里的httpd.conf配置文件，搜索 80，将如下两个地方修改你想指定的端口即可&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;p&gt;1.&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/75158/2012042915012863.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;2.&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/75158/2012042915015448.jpg" alt="" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2476189.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/04/29/2476189.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/03/31/2426730.html</id><title type="text">Asp.net MVC3 一语道破</title><summary type="text">Asp.net MVC前两年就听说了，但一直没有去用，中间只是粗略的了解了下，在前段时间做的栏目改版时才真正的去学习和使用——刚开始学，对其'路由'和请求解析执行的过程感觉比较神秘，但随着项目中的应用、功能的逐一实现，发现所谓的Asp.net MVC也就那样，清楚了核心的几点东西，就可以比较'得心应手'的玩转了。这篇博客就是要跟大家分享下：我所了解的Asp.net MVC和如何灵活使用！</summary><published>2012-03-31T04:06:00Z</published><updated>2012-03-31T04:06:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/03/31/2426730.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/03/31/2426730.html"/><content type="html">&lt;p&gt;Asp.net MVC前两年就听说了，但一直没有去用，中间只是粗略的了解了下，在前段时间做的栏目改版时才真正的去学习和使用&amp;mdash;&amp;mdash;刚开始学，对其'路由'和请求解析执行的过程感觉比较神秘，但随着项目中的应用、功能的逐一实现，发现所谓的&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;也就那样，清楚了核心的几点东西，就可以比较'得心应手'的玩转了。这篇博客就是要跟大家分享下：我所了解的&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;和如何灵活使用！&lt;/p&gt;&lt;p&gt;&lt;strong&gt;本文目录&lt;/strong&gt;：&lt;/p&gt;&lt;ul style="padding-left: 50px;"&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo0"&gt;什么是ASP.NET MVC&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo1"&gt;Asp.net MVC与传统WebForm的主要区别&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo2"&gt;创建一个MVC应用程序并运行&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo3"&gt;Controller,Model,View的介绍及关联&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo4"&gt;Global.asax 路由注册及注意&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo5"&gt;路由或请求参数的获取及路由调试&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo6"&gt;提交数据模型验证&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo7"&gt;MVC主要表单标签类的用法介绍&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-top: 10px;"&gt;&lt;span style="color: #0000ff;"&gt;&lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo8"&gt;Ajax请求实现及返回Json对象&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p id="ToInfo0" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;什么是ASP.NET MVC&lt;/span&gt;&lt;/p&gt;&lt;p&gt;MVC：Model-View-Controller,模型-视图-控制器模式&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;是微软的开发基于MVC开发的一个易于被测试的框架.它具有以下特性:&lt;/p&gt;&lt;p&gt;没有数据回传&lt;/p&gt;&lt;p&gt;没有在页面中保存视图状态&lt;/p&gt;&lt;p&gt;开发者可以完全掌控页面的呈现过程&lt;/p&gt;&lt;p&gt;易于单元测试&lt;/p&gt;&lt;p&gt;易于测试驱动开发&lt;/p&gt;&lt;p&gt;可扩展、可替换&lt;/p&gt;&lt;p&gt;支持WebForm中的有关特性,如:用户控件、母版页、数据绑定、本地化等&lt;/p&gt;&lt;p&gt;不在基于文件目录结构,而是将URL映射到控制器中&lt;/p&gt;&lt;p id="ToInfo1" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;Asp.net MVC与传统WebForm的主要区别&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1.&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;不再有传统WebForm中的控件，于是开发人员不用再去了解每个控件的使用和其诸多事件的用法及响应顺序等，降低了开发人员入门的难度，也让web开发回归原始&amp;mdash;&amp;mdash;就是客户端发送请求request,服务端响应response，类似于jsp,php...&lt;/p&gt;&lt;p&gt;2.&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;易于测试，且相对传统WebForm应用程序(目录)结构更加清晰、页面更加'干净'。&lt;/p&gt;&lt;p id="ToInfo2" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;创建一个MVC应用程序并运行&lt;/span&gt;&lt;/p&gt;&lt;p&gt;创建一个MVC应用程序，如下图：&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/75158/2012032910204815.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 运行，如图：&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/75158/2012032910220385.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt; 注：与传统WebForm应用程序不同的是：1.不能设置起始页&amp;mdash;&amp;mdash;设置了也没用，真正的起始页是由路由和DefaultController决定的。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.不能在vs和iis中浏览某个view页面，只能在调试中执行。&lt;/strong&gt;&lt;/p&gt;&lt;p id="ToInfo3" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;Controller,Model,View的介绍及关联&lt;/span&gt;&lt;/p&gt;&lt;p&gt;首先，对于一个URL请求，如：&lt;a href="http://xysj.s187.com/storeclaim"&gt;http://xysj.s187.com/storeclaim&lt;/a&gt;，应用程序会根据Global.asax文件里的路由配置，如下代码：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #008080;"&gt;1&lt;/span&gt;            routes.MapRoute(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;storeclaim&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;storeclaim/{action}/{storename}/{pagenum}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;2&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt;3&lt;/span&gt;                 controller = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;storeclaim&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt;4&lt;/span&gt;                 action = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Index&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt;5&lt;/span&gt;                 storename = &lt;span style="color: #800000;"&gt;""&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt;6&lt;/span&gt;                 pagenum = &lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;7&lt;/span&gt;             });&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 找到最匹配的路由配置项，上面的路由已经限定了此路由请求的控制器是StoreClaimController(&lt;strong&gt;MVC控制器解析规则是：控制器名称+Controller&lt;/strong&gt;)，并在参数url（"storeclaim/{action}/{storename}/{pagenum}"）中限定了匹配此路由的请求必须是以 &lt;span style="text-decoration: underline;"&gt;当前网站域名/storeclaim&lt;/span&gt; 格式的Url，以上路由如果改为如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span&gt;1&lt;/span&gt;            routes.MapRoute(&lt;span&gt;"storeclaim"&lt;/span&gt;, &lt;span&gt;"storeclaimoper/{action}/{storename}/{pagenum}"&lt;/span&gt;, &lt;span&gt;new&lt;/span&gt;&lt;br/&gt;&lt;span&gt;2&lt;/span&gt;             {&lt;br/&gt;&lt;span&gt;3&lt;/span&gt;                 controller = &lt;span&gt;"storeclaim"&lt;/span&gt;,&lt;br/&gt;&lt;span&gt;4&lt;/span&gt;                 action = &lt;span&gt;"Index"&lt;/span&gt;,&lt;br/&gt;&lt;span&gt;5&lt;/span&gt;                 storename = &lt;span&gt;""&lt;/span&gt;,&lt;br/&gt;&lt;span&gt;6&lt;/span&gt;                 pagenum = &lt;span&gt;1&lt;/span&gt;&lt;br/&gt;&lt;span&gt;7&lt;/span&gt;             });&lt;/div&gt;&lt;p&gt;当请求&lt;a href="http://xysj.s187.com/storeclaimoper"&gt;http://xysj.s187.com/storeclaimoper&lt;/a&gt;&amp;nbsp;Url时，实现的效果是一样，因为请求的URl由哪个控制器处理是由 路由配置对象中的 controller = "storeclaim" 此行代码决定的,&lt;/p&gt;&lt;p&gt;根据URl找到匹配的路由，并分析出了处理此请求的控制器，此时就需要清楚该由控制器中的那个action(操作)处理响应请求&amp;mdash;&amp;mdash;上面的url因为没有(传递或者说是附加)action路由参数，就&lt;/p&gt;&lt;p&gt;会根据 路由配置对象中的 action = "Index" 此行代码，在StoreClaimController控制器类中找到名字为Index的方法&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;     &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 商家入驻控制器&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; StoreClaimController : ControllerBase&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;     {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; ActionResult Index()&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;         {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;             CityCode city = GetCityInfo(Request);&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;             StoreClaimStepModel model = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; StoreClaimStepModel(city, &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Request.Cookies, &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.RouteData.Values);&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; View(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;xystoreinfo&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, model);&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;         }&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;     }&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 看上面代码， return View("xystoreinfo", model); &amp;mdash;&amp;mdash;这行代码，就是根据请求响应的一个View页面，其中的View方法：第一个参数是指定了View的名称，应用程序会根据当前&lt;/p&gt;&lt;p&gt;控制器的名称在 View文件夹/当前控制器的名称文件夹 下找到xystoreinfo名称的View页面，如图：&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/75158/2012033110552011.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; ；第二个参数是View页面需要的数据模型实体对象(此对象可以用于呈现编辑或浏览产品详情、列表等)。&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/75158/2012033111030185.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; 看上图红色的区域，你就发现一个很熟悉的东西：泛型，是的，Asp.net MVC在创建视图的时可以选择强类型 设置此View的数据模型，如下图&lt;/p&gt;&lt;p&gt;&lt;img style="margin-right: auto; margin-left: auto; display: block;" src="http://pic002.cnblogs.com/images/2012/75158/2012033111074565.jpg" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 这样就可以在View页面中很方便的使用或呈现数据模型中的可访问到的属性或方法等，如：&amp;lt;%=Model.AssignedStoreId %&amp;gt;。&lt;/p&gt;&lt;p id="ToInfo4" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;Global.asax 路由注册及注意&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1.&lt;strong&gt;路由的配置一定要将最深层次、精准的路由写在前面，就像在捕获代码异常时：一定要将子(类)异常写在最上面&lt;/strong&gt;，如：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('ec155706-975c-4573-baaf-fad7f3b52049')"&gt;&lt;div id="cnblogs_code_open_ec155706-975c-4573-baaf-fad7f3b52049" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;            &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; a = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;                 a = &lt;span style="color: #800080;"&gt;5&lt;/span&gt; / a;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (InvalidOperationException ex)&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt; ex;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception ex)&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;throw&lt;/span&gt; ex;&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;             }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对于路由，则是：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('f60cf752-86a2-4f10-8e44-bc0a1361e067')"&gt;&lt;div id="cnblogs_code_open_f60cf752-86a2-4f10-8e44-bc0a1361e067" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; RegisterRoutes(RouteCollection routes)&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;         {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;             routes.IgnoreRoute(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{resource}.axd/{*pathInfo}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;             routes.MapRoute(&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;                 &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;newroute&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 路由名称&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;                 &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{controller}/{action}/{keyword}/{pagenum}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 带有参数的 URL&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; { controller = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Message&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, action = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;GetList&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, keyword = &lt;span style="color: #800000;"&gt;""&lt;/span&gt;, pagenum = UrlParameter.Optional } &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 参数默认值&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;             );&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;             routes.MapRoute( &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;此路由 相当于是最父级路由，一般写在路由注册的最后，避免覆盖其它的自定义路由&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;                 &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Default&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 路由名称&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;                 &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{controller}/{action}/{id}&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 带有参数的 URL&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; { controller = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Home&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, action = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;Index&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, id = UrlParameter.Optional } &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 参数默认值&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;             );&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;         }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&lt;strong&gt;每个注册路由的路由配置对象中的 controller = "Message", action = "GetList" 这两个属性值必须要设置！&lt;/strong&gt;&lt;/p&gt;&lt;p id="ToInfo5" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;路由或请求参数的获取及路由调试&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1.路由参数的获取，如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('b92d0f70-d7a7-4d63-8fca-a5e0bc45cbbf')"&gt;&lt;div id="cnblogs_code_open_b92d0f70-d7a7-4d63-8fca-a5e0bc45cbbf" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;            &lt;span style="color: #0000ff;"&gt;#region&lt;/span&gt; 路由参数获得判断&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;         RouteValueDictionary dictRouteValue = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.RouteData.Values;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; routeValue = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; storeName = &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (dictRouteValue.TryGetValue(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;storename&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;out&lt;/span&gt; routeValue))&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;                 storeName = routeValue.ToString().Trim();&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;             &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果参数 商家简称为空&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (routeValue == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt; || &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt;.IsNullOrEmpty(storeName))&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; pageNum = &lt;span style="color: #800080;"&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (dictRouteValue.TryGetValue(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;pagenum&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;out&lt;/span&gt; routeValue))&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;                 pageNum = Convert.ToInt16(routeValue);&lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;                 pageNum = pageNum &amp;lt;= &lt;span style="color: #800080;"&gt;0&lt;/span&gt; ? &lt;span style="color: #800080;"&gt;1&lt;/span&gt; : pageNum;&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;#endregion&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&lt;strong&gt;路由中的 路由参数 不能从 Request中获得&lt;/strong&gt;，非路由参数的请求参数可以在Request对象中获得，具体方式与WebForm中相同。&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.路由调试，即可以测试(指定)URl请求是否成功被某个路由配置匹配捕获，此需要添加RouteDebug.dll程序集的引用，文后会附上此dll的下载。&lt;/p&gt;&lt;p id="ToInfo6" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;提交数据模型验证&lt;/span&gt;&lt;/p&gt;&lt;p&gt;此部分，我不想多说，你只需要新建一个带有示例的MVC3应用程序 或 创建一个 支架模版为Edit或Create的视图就可以比较清楚的其具体应用。看如下代码，不得不说的是：MVC3&lt;/p&gt;&lt;p&gt;里的数据模型验证还是挺不错的！&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('564628a6-e95a-4840-902e-8b3d63581a91')"&gt;&lt;div id="cnblogs_code_open_564628a6-e95a-4840-902e-8b3d63581a91" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; ChangePasswordModel&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;     {   &lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;         [Required]&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;         [DataType(DataType.Password)]&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;         [Display(Name = &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;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; OldPassword { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;         [Required]&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;         [StringLength(&lt;span style="color: #800080;"&gt;100&lt;/span&gt;, ErrorMessage = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;{0} 必须至少包含 {2} 个字符。&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, MinimumLength = &lt;span style="color: #800080;"&gt;6&lt;/span&gt;)]&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;         [DataType(DataType.Password)]&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;         [Display(Name = &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;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; NewPassword { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;         [DataType(DataType.Password)]&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;         [Display(Name = &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;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;         [Compare(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;NewPassword&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, ErrorMessage = &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;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; ConfirmPassword { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;     }&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('821417ec-dcdd-48da-a67b-ca80520badd8')"&gt;&lt;div id="cnblogs_code_open_821417ec-dcdd-48da-a67b-ca80520badd8" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;  &amp;lt;%@ Page Language=&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; MasterPageFile=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;~/Views/Shared/Site.Master&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; Inherits=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;System.Web.Mvc.ViewPage&amp;lt;MVC3_Test.Models.ChangePasswordModel&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &amp;lt;asp:Content ID=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;changePasswordTitle&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;TitleContent&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; runat=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;server&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;     更改密码&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &amp;lt;/asp:Content&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &amp;lt;asp:Content ID=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;changePasswordContent&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; ContentPlaceHolderID=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;MainContent&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; runat=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;server&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;     &amp;lt;h2&amp;gt;更改密码&amp;lt;/h2&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;     &amp;lt;p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;         请使用以下表单更改密码。 &lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;     &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;     &amp;lt;p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;         新密码必须至少包含 &amp;lt;%: Membership.MinRequiredPasswordLength %&amp;gt; 个字符。&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;     &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;     &lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;     &amp;lt;script src=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;%: Url.Content(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;~/Scripts/jquery.validate.min.js&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;) %&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; type=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;text/javascript&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;     &amp;lt;script src=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;%: Url.Content(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;~/Scripts/jquery.validate.unobtrusive.min.js&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;) %&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; type=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;text/javascript&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;     &amp;lt;% &lt;span style="color: #0000ff;"&gt;using&lt;/span&gt; (Html.BeginForm()) { %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;         &amp;lt;%: Html.ValidationSummary(&lt;span style="color: #0000ff;"&gt;true&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;) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;         &amp;lt;div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;             &amp;lt;fieldset&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;                 &amp;lt;legend&amp;gt;帐户信息&amp;lt;/legend&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;                 &lt;br /&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-label&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt;                     &amp;lt;%: Html.LabelFor(m =&amp;gt; m.OldPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-field&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt;                     &amp;lt;%: Html.PasswordFor(m =&amp;gt; m.OldPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt;                     &amp;lt;%: Html.ValidationMessageFor(m =&amp;gt; m.OldPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt;                 &lt;br /&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-label&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt;                     &amp;lt;%: Html.LabelFor(m =&amp;gt; m.NewPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-field&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt;                     &amp;lt;%: Html.PasswordFor(m =&amp;gt; m.NewPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt;                     &amp;lt;%: Html.ValidationMessageFor(m =&amp;gt; m.NewPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt;                 &lt;br /&gt;&lt;span style="color: #008080;"&gt;41&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-label&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;42&lt;/span&gt;                     &amp;lt;%: Html.LabelFor(m =&amp;gt; m.ConfirmPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;43&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;44&lt;/span&gt;                 &amp;lt;div &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;editor-field&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;45&lt;/span&gt;                     &amp;lt;%: Html.PasswordFor(m =&amp;gt; m.ConfirmPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;46&lt;/span&gt;                     &amp;lt;%: Html.ValidationMessageFor(m =&amp;gt; m.ConfirmPassword) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;47&lt;/span&gt;                 &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;48&lt;/span&gt;                 &lt;br /&gt;&lt;span style="color: #008080;"&gt;49&lt;/span&gt;                 &amp;lt;p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;50&lt;/span&gt;                     &amp;lt;input type=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;submit&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; value=&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; /&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;51&lt;/span&gt;                 &amp;lt;/p&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;52&lt;/span&gt;             &amp;lt;/fieldset&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;53&lt;/span&gt;         &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;54&lt;/span&gt;     &amp;lt;% } %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;55&lt;/span&gt; &amp;lt;/asp:Content&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p id="ToInfo7" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;MVC主要表单标签类的用法介绍&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('cd272b5d-ef4c-4aeb-bcfe-c0c75c3605a6')"&gt;&lt;div id="cnblogs_code_open_cd272b5d-ef4c-4aeb-bcfe-c0c75c3605a6" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &amp;lt;%=Html.Pager(Model.PageList, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; PagerOptions&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;     ContainerTagName = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;     PageIndexParameterName = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;pagenum&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;     AlwaysShowFirstLastPageNumber = &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;     NumericPagerItemCount = &lt;span style="color: #800080;"&gt;5&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;     HorizontalAlign = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;right&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; }, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; {&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;     Style = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;float:right;width:80%&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; })%&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('30207073-40b0-43de-be55-efbb17ff4860')"&gt;&lt;div id="cnblogs_code_open_30207073-40b0-43de-be55-efbb17ff4860" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt;1&lt;/span&gt; &amp;lt;%:Html.TextBoxFor(m =&amp;gt; m.Name, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; { style = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;width: 70%&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;, maxlength = &lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;60&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; })%&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;2&lt;/span&gt; &amp;lt;%:Html.TextAreaFor(m =&amp;gt; m.BusinessSphere, &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; { id=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;txtBusinessSphere&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;,style=&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;background-color: #ffffff; width: 70%; color: #000000&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt; })%&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;3&lt;/span&gt; &amp;lt;%:Html.CheckBoxFor(m=&amp;gt;m.IsShow) %&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;4&lt;/span&gt; 是否显示&lt;br /&gt;&lt;span style="color: #008080;"&gt;5&lt;/span&gt; &amp;lt;%:Html.HiddenFor(m =&amp;gt; m.HoursBegin)%&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p id="ToInfo8" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white; font-size: 20px;"&gt;Ajax请求实现及返回Json对象&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('5c5d962f-6815-46f1-9d2b-0eb9aeaf009f')"&gt;&lt;div id="cnblogs_code_open_5c5d962f-6815-46f1-9d2b-0eb9aeaf009f" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;             _AjaxRequest("POST","/storeclaim/GetBulidingNum",&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (data) {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;                     &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!isLoadShow &amp;amp;&amp;amp; (data == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt; || !data.IsSuc)) {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;                         _ShowTipMes("所选建筑物信息获取失败或不存在！");&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;                         &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;                     }&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;                     _storageData.Dict_BuildingNum[buildingID] = data;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;                     dataObj=data;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;             },&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;,"bulidingId=" + buildingID,&lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;             &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;ajax请求方法(isAsync:是否是异步请求)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;            &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; _AjaxRequest(type, url, successFun, errorFun, data, isAsync) {&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;             $.ajax({&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;                 type: type,&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;                 url: url,&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;                 async: isAsync,&lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;                 data: data,&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;                 success: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (data) {&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;                     successFun &amp;amp;&amp;amp; successFun(data);&lt;br /&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;                 },&lt;br /&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;                 error: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (data) {&lt;br /&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;                     errorFun &amp;amp;&amp;amp; errorFun(data);&lt;br /&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;                 }&lt;br /&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;             });&lt;br /&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;           }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('4776c5b0-3d8e-4f84-adfe-f5f8d6b4612b')"&gt;&lt;div id="cnblogs_code_open_4776c5b0-3d8e-4f84-adfe-f5f8d6b4612b" class="cnblogs_code_hide"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;         &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; 获得指定建筑物的楼层&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #808080;"&gt;///&lt;/span&gt; &lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;         [HttpPost]&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; ActionResult GetBulidingNum()&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;         {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; bulidingId = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.GetFormInt(&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;bulidingId&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (bulidingId &amp;lt;= &lt;span style="color: #800080;"&gt;0&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt;                 &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;             MapBuilding building = GetMapBuilding(bulidingId);&lt;br /&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; isSuc = building != &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; floor = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;, subterranean = &lt;span style="color: #800080;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (isSuc)&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;             {&lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;                 floor = building.Floor;&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt;                 subterranean = building.Subterranean;&lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;             }&lt;br /&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; Json(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; { IsSuc = isSuc, Floor = floor, Subterranean = subterranean });&lt;br /&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;         }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MVC3里提供了很方便的json数据对象构造方法Json：创建一个将指定对象序列化为 JavaScript 对象表示法 (JSON) 的 System.Web.Mvc.JsonResult 对象。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;　&amp;nbsp; 好了，比较匆忙的写完了这篇已经拖了几天的博客，感觉想把自己懂的东西写的让别人能比较容易看懂或者面面俱到并不是一件容易的事&amp;mdash;&amp;mdash;正像这篇博客的标题，我写的无论详细好坏与否，也只能算是'道破'，如果你想更深入的了解和学习，就得自己多用、多想、更全面的了解，也希望看了感觉有疑问或在&lt;a href="http://www.cnblogs.com/know/archive/2012/01/05/2313054.html"&gt;Asp.net MVC&lt;/a&gt;3方面有更多了解的朋友，能大家一起交流学习！&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;&lt;strong&gt;&lt;a href="http://files.cnblogs.com/know/RouteDebug.rar"&gt;RouteDebug.rar&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2426730.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/03/31/2426730.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/03/16/2399928.html</id><title type="text">程序员，其实你可以做的更好</title><summary type="text">当你把"代码重构养成一种习惯"后，"代码重构"就不再是你认为的"额外的事"，你会很自然也感觉必须要这样做。你应该在工作中多想和考虑，如：如何让自己的代码写的让别人用起来简单易用...，不要只会'写代码'，也更不要盲目的追求技术上的狂热将代码写的生涩难懂，增加了复杂度，好的代码应该是：简洁高效的实现。程序员，其实你可以做的更好！</summary><published>2012-03-16T03:27:00Z</published><updated>2012-03-16T03:27:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/03/16/2399928.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/03/16/2399928.html"/><content type="html">&lt;p&gt;&lt;span style="font-size: 16px;"&gt;写代码，这个是每个程序员(无论是菜鸟，还是大牛)都会的技能和几乎每天都做的事，如同厨师会炒菜、民工会码砖一样；虽然都会，但看其代码就可以大概知道此人技术咋样，最起码可以看出其代码写的好与差。&amp;mdash;&amp;mdash;好的代码就像是好的文章，让人一看就感觉：思路清晰，作用明确，实现简洁...，所以说写代码是门艺术，想成为高级程序员就必须掌握好这门艺术。此文要跟大家分享的就是我对练好这门艺术的核心技能：&lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;"代码重构"&lt;/a&gt;的看法！&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 16px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "代码重构"并不是像算法那样深奥，需要你有相应的'硬件'(数学等方面知识)支撑，是你从开始学习编程就可以也应该锻炼的技能，这也就是我此文想要说的核心：&lt;a href="http://www.cnblogs.com/know/archive/2012/02/01/2334323.html"&gt;将代码重构成为一种习惯&lt;/a&gt;;是的，你需要把代码重构培养成为一种习惯，因为只有这样，你才会将代码重构融入到你写的每段代码中，并且会认为就应该如此做。写这篇博客是有缘由的：看到公司做开发的同事写的代码，感觉一方面是编码风格上不同、有点儿各树一帜&amp;mdash;&amp;mdash;公司在开发上不是没有规范，而是大家没有把规范落实、去遵行，更况且规范比较粗略，这就导致在看或维护别人写的代码时，经常会感觉跟自己的编码风格差异比较大，阅读起来比较费劲，甚至头疼、有想抓狂的冲动。规范对于团队开发相当重要也是必须的，要不然也不会有很多大公司(像华为)都有自己比较严格和细致的开发规范，其作用也毋庸置疑：能提高团队开发的效率，确保编码风格上的一致性，降低维护的成本...&amp;mdash;&amp;mdash;想想看，当一个团队中大家都遵行规范，这个规范可以小到类名或变量名的命名规范，也可以大到模块文件夹目录结构，如规定：全局变量统一以'_'开头，模块对外提供的服务类，都统一放在service文件夹下...，如此这样你在看别人写的代码，就跟看自己写的代码一样(如果规范粒度越细，其相似度就越高，可能就难分你我了)，也能比较方便快速的看懂代码的意图和找到需要的类或方法；另一方面，&lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;"代码重构"&lt;/a&gt;做的并不够好，即使是经验比较丰富的程序员，其代码中充斥着一些重复的代码段，为此在开会时我提出我们应该注意"代码重构"，并询问他们对其看法，其答复基本上是：开发时时间比较紧，不想花那点儿时间去进行"代码重构"。然后，我就问"那样是不是导致你们在维护自己的代码时，连自己都会感觉头大和费时间"，他们的回答是肯定的。其实，不想去做"代码重构"的编码，在以后维护中，你会花更多的时间去做当时用个一两分钟就可以搞定的事，而&lt;strong&gt;当你把"代码重构养成一种习惯"后，"代码重构"就不再是你认为的"额外的事"，你会很自然也感觉必须要这样做&lt;/strong&gt;。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 16px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;"代码重构"&lt;/a&gt;并不是说你对设计模式比较熟悉才可以，因为不少程序员可能熟知各种设计或开发模式，但并没有认识到"代码重构"的重要性，也更没有将其成为一种习惯。就我自己而言，虽然我对设计模式知道的很少，也不会'得心应手'的去使用，但我一直(大概是工作一年后到现在)以'&lt;a href="http://www.cnblogs.com/know/archive/2011/10/29/2228682.html"&gt;确保自己写的代码里没有重复的代码段&lt;/a&gt;'这个基本原则规范自己的编码，也同时要求和提醒着自己：&lt;strong&gt;要保证每行代码或每个变量都有意义，没有多余的，并保持每行代码都不可随意改变顺序以呈现编码思路的清晰逻辑&lt;/strong&gt;。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 16px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 最后，我想说的是：你应该在工作中多想和考虑，如：如何让自己的代码写的让别人用起来简单易用...，不要只会'写代码'，也更不要盲目的追求技术上的狂热将代码写的生涩难懂，增加了复杂度，好的代码应该是：简洁高效的实现。程序员，其实你可以做的更好！&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2399928.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/03/16/2399928.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/14/2350837.html</id><title type="text">我的北漂感悟录，程序员你是否也曾有过?!</title><summary type="text">如果说技术类的文章是'粮食'，那感悟或人生哲理类的文章就是'精神食粮'——我们有时更需要的是看到能让我们有同感、能聊以慰藉我们心灵的文章，并让我们多些淡定、少些迷茫...</summary><published>2012-02-14T04:11:00Z</published><updated>2012-02-14T04:11:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/14/2350837.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/14/2350837.html"/><content type="html">&lt;p&gt;&amp;nbsp;　 &lt;span style="color: #3366ff;"&gt;前言&lt;/span&gt;：&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #c0c0c0;"&gt;跟大家分享的是一篇我09年在北京工作时写的随笔(这篇文章原名为'&lt;/span&gt;&lt;span style="background-color: #c0c0c0;"&gt;北闲记(二)',其相关的上一篇文章是:&lt;strong&gt;&lt;a id="homepage1_HomePageDays_DaysList_DayItem_2_DayList_2_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/know/archive/2012/02/07/2341576.html"&gt;&lt;span style="background-color: #c0c0c0;"&gt;北闲记(一)&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="background-color: #c0c0c0;"&gt;)，如果说技术类的文章是'粮食'，那感悟或人生哲理类的文章就是'精神食粮'&amp;mdash;&amp;mdash;我们有时更需要的是看到能让我们有同感、能聊以慰藉我们心灵的文章，并让我们多些淡定、少些迷茫...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;出来打工，人们普遍使用的交通工具是火车。在火车站，人们或出去或回家；候车室里，人很多，在这些人当中，不难发现有一些人背着一个沉甸甸的大包，&amp;mdash;&amp;mdash;这包里装的也许是沉重的责任，也许是对生活的希望，也许是为生活而奔波的劳苦......,无论怎样，压在他们身上的重量远远不是这些。我之前只坐过一两次火车，而且在记忆中很模糊。从出来工作到现在，做过三次火车，对坐火车的感触是：东西尽可能的少带。想起自己和同学刚来北京坐火车的情景，感觉跟逃难的差不多。&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;从出来找工作到现在已有半年多了，回想起要从家里出来之前一个月的心情：急切的想要出来工作，一天都不愿多等，似乎是挣脱家的束缚，更像是出来了就能拥有一切。而如今，却是"出门才知生活难，养家糊口不简单"，自己包扎着伤口，家的温暖切向往！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;满怀信心的出来，出来才发现自己对社会这所大学堂中的知识知道的太少，再加上涉世未深的年轻气盛，急躁，冲动......,让人很容易看出自己是"新手上路"。于是，碰壁，跌倒，爬起，才知道。痛定思痛后，也常乐观的想到："每个人来到这个世界上，都是学习后才知道，只要肯学，就没有什么好惧怕的！"。边走边学，是我前行路上的标语。从做事中学，从书中学，从周围人身上学......,从做事中学，让我知道了：工作要尽力做好，并尽可能的多帮助人;从书中学，我知道了：人与人工作能力的差别，重要的不在做事的能力上，而在于做事的态度上，认真，仔细，负责的做事态度才是老板最看重的。以及如何管理，如何消除忧虑，积极生活等；从周围人身上学，我知道了自己身上存在的问题......。生活已让我由之前的多个人生目标词转变为一个让我能过得更轻松，更有活力的字"学"。&lt;strong&gt;学即意味着改变，而事实上，除了我们自己，其它的外在环境都无法改变，或者说我们只能对自己有决定权。"学"一个很有内涵的词，虽然就一个字，但真正能做好却并不容易&lt;/strong&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;出来了，就越来越希望同周围的人成为朋友。或是同事，或是邻居，或是偶尔聚在一起的人，也常会留个联系方式，尽可能的与更多的人成为朋友。因为常想："在外面不容易，多个朋友就多份帮助。而且，人与人能聚在一起，互相认识，不能说不是一种缘分！"。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;去年冬天出来的，现在北京天已渐凉入秋了，冬天也将转眼即到。去年的这个时候还在一起的同学，如今都已在各地为生活而奋斗着，时光飞逝，记忆中的画面比底片更让人模糊，也许同学只能成为记忆中同学，偶然相遇，将是一种说不出的激动和惊喜。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;时间，这个词越来越多次的浮现在我的脑海中，也时常给我一种紧迫感，"物是人非"的提醒。常常提起时间，也常给我一种苍凉的感觉。人总是那么矛盾，知道"失去了才知道珍惜"的道理，却常是非要失去后才知道珍惜。知道"时间宝贵，一去不返"，却常是麻木，昏睡，得过且过。人生这列火车上，中途有熟悉的人下去，陌生的人上来，它不会因为任何人的下车或离去而停止。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&gt;心中感觉想写的有很多，却是思绪乱如麻。就写到这儿吧，这点东西已拖拖拉拉的写了将近一个月，比挤牛奶还困难......&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 楷体_GB2312;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 写于2009.9.13&amp;nbsp; 北京&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2350837.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/14/2350837.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/10/2345476.html</id><title type="text">Android程序开发学习笔记系列——基础篇(附源码)</title><summary type="text">力求以简短明了的讲述，让正在学习Android程序开发的朋友们能更快、更准确的了解到你想知道的，5集学习视频的内容这一篇博客就基本上全部囊括，值得一看！本文知识要点：1.1 Android应用程序目录结构、文件夹及其文件说明。1.2 Button TextView控件的基本用法 1.3 Activity之间跳转简单传值，Intent的简单使用 1.4 控件事件的绑定</summary><published>2012-02-10T07:11:00Z</published><updated>2012-02-10T07:11:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/10/2345476.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/10/2345476.html"/><content type="html">&lt;p&gt;随着Android的越炒越热和各种应用的不断推出，自己也比较巧合的在去年12月份宽带续费时给送了个电信的Android系统定制机&amp;mdash;&amp;mdash;算是促使我提前了Android开发的学习计划，并给我提供了一个开发测试的'场地'(手机)，也更增强了我学习&lt;a href="http://www.cnblogs.com/know/"&gt;Android程序开发&lt;/a&gt;的兴趣&amp;mdash;&amp;mdash;别的市场前景等先暂且不说，至少我学会了，可以做个程序自己用。闲话少说，Android程序开发学习笔记这个系列，我将尽量让每篇博客保持统一的风格，在开始分享学习经验之前列出这篇博客主要讲些什么&amp;mdash;&amp;mdash;知识点，也力求以简短明了的讲述，让正在学习Android程序开发的朋友们能更快、更准确的了解到你想知道的，不过我也知道即使写的再'好'，可能还是有人感觉没有讲清楚或讲到正点上，希望大家能多提意见，让这个系列能更具可读性！　&lt;/p&gt;&lt;p&gt;&lt;strong&gt;本文知识要点&lt;/strong&gt;：&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;1.1 &lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo1"&gt;Android应用程序目录结构、文件夹及其文件说明&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;1.2 &lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo2"&gt;Button TextView控件的基本用法&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;1.3 &lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo3"&gt;Activity之间跳转简单传值，Intent的简单使用&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #0000ff;"&gt;1.4 &lt;a style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" href="#ToInfo4"&gt;控件事件的绑定&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p id="ToInfo1" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white;"&gt;1.1 Android应用程序目录结构、文件夹及其文件说明&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img style="display: block; margin-left: auto; margin-right: auto;" src="http://pic002.cnblogs.com/images/2012/75158/2012021010161719.jpg" alt="" width="531" height="586" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;原本想在上图中直接添加批注，但感觉比较麻烦且空间小不容易说清楚，下面就针对上图中的几个红色区域重点说明下：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;R.java&lt;/strong&gt;&amp;mdash;&amp;mdash;此文件是应用程序资源(Resource)类，包括控件id,layout,strings,drawable，以方便在整个应用程序中对资源的使用和统一管理；此类是自动生成的，不要手动修改！&lt;/p&gt;&lt;p&gt;&lt;strong&gt;res文件夹下的&lt;/strong&gt;&amp;nbsp; 以drawable开头的文件夹分别放的是高(h)、低(l)、中(m)不同分辨率的图片，即为了兼容或者说让应用程序在不同分辨率下的机器上更好的呈现，一般一张图片要弄三张不同分辨率的放在这三个文件夹下，如：应用程序的图标或其中所用到的图片，应用程序在启动时会根据当前机器(客户端)的分辨率采用合适的一张图片;放在drawable文件夹下的图片会自动在R.java文件的drawable类生成一个相应的变量，代码如下:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; final &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; drawable {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; final &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; cat=&lt;span style="color: #800080;"&gt;0x7f020000&lt;/span&gt;;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;static&lt;/span&gt; final &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; ic_launcher=&lt;span style="color: #800080;"&gt;0x7f020001&lt;/span&gt;;&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;　&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layout文件夹下放的是内容视图文件，可以理解为跟.net中.aspx文件类似&amp;mdash;&amp;mdash;界面布局文件，那就会有朋友问了：每个内容视图文件的代码控制类是如何与之关联的？这个需要在每个Activity类的onCreate方法中 通过 setContentView(R.layout.formactivity); 此行代码设置。其中main.xml是默认的内容视图文件！&lt;/p&gt;&lt;p&gt;&amp;nbsp; values文件夹下放的是当前应用程序中使用到的字符串&amp;mdash;&amp;mdash;以键值对的形式存放，如：应用程序的名称、按钮等提示文本，这样做的好处是：将文本字符串与代码分离，方便做国际化，如你现在做的应用程序针对的是中国用户，当你想增加个日本或英文版本时，你只需要在values文件夹下增加相应国际化的strings.xml文件即可！具体做法会在以后的博客中讲解。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;src文件夹下&lt;/strong&gt;当前应用程序项目名称文件夹下 放的一般是Activity类(可以理解为界面窗体后置代码类)和其它的类文件。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;AndroidManifest.xml&amp;nbsp; &lt;/strong&gt;此文件类似与.net中的web.config文件&amp;mdash;&amp;mdash;应用程序配置文件，如配置：应用程序名称和icon、最低支持的SDK版本、用户权限、第三方类库等，在这篇文章里只具体说下常用和基础的配置属性，文件内容如下：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('95cf8e1d-be98-4da4-8328-90ca94c403d8')"&gt;&lt;div id="cnblogs_code_open_95cf8e1d-be98-4da4-8328-90ca94c403d8" class="cnblogs_code_hide"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #ff00ff;"&gt;xml version="1.0" encoding="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;manifest &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns:android&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    package&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="android.FirstAVd"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    android:versionCode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    android:versionName&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;uses-sdk &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:minSdkVersion&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="15"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;application&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:icon&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/ic_launcher"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@string/app_name"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;activity&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=".FirstAVdActivity"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;            android:label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@string/app_name"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;intent-filter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;action &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="android.intent.action.MAIN"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;category &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="android.intent.category.LAUNCHER"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;intent-filter&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;activity&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;activity&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;=".FormActivity"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;            android:label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@string/formactivity_name"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;activity&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;application&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;manifest&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; package="android.FirstAVd"&amp;nbsp;&amp;nbsp;&amp;nbsp; 当前应用程序的包名&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:versionCode="1"&amp;nbsp;&amp;nbsp;&amp;nbsp;当前应用程序的版本号&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:versionName="1.0"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 当前应用程序的版本名称&lt;/p&gt;&lt;p&gt;&amp;lt;application&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:icon="@drawable/ic_launcher"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 当前应用程序的图标&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; android:label="@string/app_name" &amp;gt;当前应用程序的名称&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;lt;activity&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; android:name=".FirstAVdActivity"&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; android:label="@string/app_name" &amp;gt;　界面窗体的名称&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如上有两个activity的声明(注册)，但&lt;strong&gt;只有内部有&amp;lt;intent-filter&amp;gt;的activity才是应用程序默认启动的窗体界面，而且每个activity必须要在此文件中声明(注册)，否则将会报错&lt;/strong&gt;！&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p id="ToInfo2" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white;"&gt;1.2 Button TextView控件的基本用法&lt;/span&gt;&lt;/p&gt;&lt;p&gt;首先在内容视图xml文件中添加控件，再在对应的activity类中根据控件id获得控件对象，代码如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;TextView&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@+id/tvShow"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:layout_width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="fill_parent"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="wrap_content"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:text&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@string/author"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;Button &lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;android:id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@+id/btnchangecontent"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:layout_width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="fill_parent"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        android:layout_height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="wrap_content"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('e31b8a33-90d0-412a-b5d7-a48e840b59ef')"&gt;&lt;div id="cnblogs_code_open_e31b8a33-90d0-412a-b5d7-a48e840b59ef" class="cnblogs_code_hide"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; FirstAVdActivity &lt;span style="color: #0000ff;"&gt;extends&lt;/span&gt; Activity {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; TextView tvShow;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; Button btnSendSms;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; Button btnAction;&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; Button btnchangecontent;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt; Called when the activity is first created. &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;    @Override&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; onCreate(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;super&lt;/span&gt;.onCreate(savedInstanceState);&lt;br /&gt;        &lt;span style="color: #008000;"&gt;/**&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;         *      TextView tv2 = new TextView(this);&lt;br /&gt;                tv2.setText("Nice see you!"+new Date().getTime());&lt;br /&gt;                setContentView(tv2);&lt;br /&gt;         &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;设置当前Activity的内容视图(文件)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        setContentView(R.layout.main); &lt;br /&gt;        tvShow=(TextView)&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.findViewById(R.id.tvShow);&lt;br /&gt;        btnAction=(Button)&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.findViewById(R.id.btnforward);&lt;br /&gt;        btnAction.setText("测试按钮");&lt;br /&gt;        btnAction.setTextSize(23);&lt;br /&gt;        btnAction.setTextColor(Color.GREEN);&lt;br /&gt;        btnAction.setBackgroundColor(Color.GRAY);&lt;br /&gt;        btnAction.setOnClickListener(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; BtnActionOnClickListener());&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p id="ToInfo3" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white;"&gt;1.3 Activity之间跳转简单传值，Intent的简单使用&lt;/span&gt;&lt;/p&gt;&lt;p&gt;如以下代码实现的是从FirstAVdActivity跳转到FormActivity，并在FormActivity中获得传递的值的实现：&lt;/p&gt;&lt;p&gt;FirstAVdActivity中的跳转按钮事件&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; BtnActionOnClickListener &lt;span style="color: #0000ff;"&gt;implements&lt;/span&gt; OnClickListener&lt;br /&gt;    {&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; onClick(View v) {&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; TODO Auto-generated method stub&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;创建一个Intent请求对象&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            Intent intent=&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Intent();&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;将要传递的值以键值对的形式存放在intent对象中&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            intent.putExtra("user_name", "tom_marker");&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;设置请求的源(FirstAVdActivity)和目标(FormActivity)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            intent.setClass(FirstAVdActivity.&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, FormActivity.&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;);&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;执行请求&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            FirstAVdActivity.&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.startActivity(intent);&lt;br /&gt;        }&lt;br /&gt;    }&lt;/div&gt;&lt;p&gt;FormActivity中获得传递值&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; FormActivity &lt;span style="color: #0000ff;"&gt;extends&lt;/span&gt; Activity {&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; TextView tvShow;&lt;br /&gt;    @Override&lt;br /&gt;    &lt;span style="color: #0000ff;"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; onCreate(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; TODO Auto-generated method stub&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;try&lt;/span&gt; {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;super&lt;/span&gt;.onCreate(savedInstanceState);&lt;br /&gt;            setContentView(R.layout.formactivity);&lt;br /&gt;            Intent intent=&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.getIntent();&lt;br /&gt;            tvShow=(TextView)&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.findViewById(R.id.tvShow);&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;tvShow.setText(new Date().getMinutes());&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            tvShow.setText(R.string.welText+intent.getStringExtra("user_name"));&lt;br /&gt;        } &lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt; (Exception e) {&lt;br /&gt;            tvShow.setText("Error: "+e.getMessage());&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/div&gt;&lt;p id="ToInfo4" style="background-color: #a5a5a5; height: 40px; padding-top: 12px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-weight: bold; color: white;"&gt;1.4 控件事件的绑定&lt;/span&gt;&lt;/p&gt;&lt;p&gt;事件的绑定有如下两种方式，贴出代码，一看便知&lt;/p&gt;&lt;p&gt;方式一&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;btnchangecontent.setOnClickListener(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; View.OnClickListener(){  &lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; onClick(View v) &lt;br /&gt;            { &lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;Toast提示控件 &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                Toast.makeText(FirstAVdActivity.&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, &lt;br /&gt;                        "TextView里的文字发生了改变,你注意到了吗?",  &lt;br /&gt;                        Toast.LENGTH_LONG).show(); &lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;将tvShow的文字发生改变 &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                tvShow.setText("Android Button控件绑定单击事件"+"\n"+&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Date().getTime()); &lt;br /&gt;            } &lt;br /&gt;        });&lt;/div&gt;&lt;p&gt;方式二&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;btnSendSms.setOnClickListener(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; BtnSendSmsOnClickListener());&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; BtnSendSmsOnClickListener &lt;span style="color: #0000ff;"&gt;implements&lt;/span&gt; OnClickListener&lt;br /&gt;    {&lt;br /&gt;        @Override&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; onClick(View v) {&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; TODO Auto-generated method stub&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;创建一个Intent请求对象&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            Uri uri=Uri.parse("smsto://13227517186");&lt;br /&gt;            Intent intent=&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Intent(Intent.ACTION_SENDTO,uri);&lt;br /&gt;            intent.putExtra("sms_body", "This sms test content!");&lt;br /&gt;            FirstAVdActivity.&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.startActivity(intent);&lt;br /&gt;        }&lt;br /&gt;    }&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;好了，时间有限，就写到这吧，可能有些仓促和没有说到的地方，希望能对你有所帮助，也希望大家多交流、提意见！&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 14pt;"&gt;&lt;strong&gt;以上所讲代码示例下载 &lt;a href="http://files.cnblogs.com/know/FirstAVd.rar"&gt;FirstAVd.rar&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;视频教程学习：&lt;a href="http://v.youku.com/v_playlist/f5486194o1p30.html"&gt;http://v.youku.com/v_playlist/f5486194o1p30.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2345476.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/10/2345476.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/07/2341576.html</id><title type="text">北闲记(一)</title><summary type="text">这篇文章写于09年在北京工作时，今天贴出来是想把自己当时刚出来工作心中对人生的感悟和思考，以及有些自我安慰的暗示或说服分享给大家，相信那些正在外面闯荡的朋友们会或多或少有相同的感受，希望从中你能获得属于你的那份宽慰和淡定！</summary><published>2012-02-07T07:57:00Z</published><updated>2012-02-07T07:57:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/07/2341576.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/07/2341576.html"/><content type="html">&lt;p&gt;许久没有提笔写了，并不是不想写，而是现在已经很难再静坐下来去写了。心中所想的那些，或对人生，或对生活，或对往事的感悟，想把它们写下来，却一直没有动力去写。所以，现在回想起在家写过的那些文章，虽然很少，但那已经是我生命中重要的精神财富了，也让我感到妳足珍贵。&amp;mdash;&amp;mdash;一半是源于文章本身，而另一半则是我现在缺少的&amp;mdash;&amp;mdash;让自己真正的静下来，整理整理自己那繁乱的思绪的心境。 &lt;br /&gt;&lt;span style="line-height: 1.8em; font-family: '楷体_GB2312';"&gt;回想这已经过去的20年，发现这时间短的可怜，或是时间过的如烟飞云散，没有太多的记忆，感觉一切都如梦如幻。小时曾迫切渴望长大，转眼都成了现实。当时，渴望快些长大的念头暗含着这些美好的想法：能像大人那样自由自在，不受约束；能挣钱，买自己想吃的东西和玩具.....。而现在长大了，发现并没有小时候想的那么美好。&lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.8em; font-family: '楷体_GB2312';"&gt;现在，出来工作已有半年多了，原来陌生,未知的社会在慢慢的被发现和了解。在没有出来时对工作及工作后的生活的美好的想象，到现在，也只能是记忆中的彩虹&amp;mdash;&amp;mdash;美好但不真实。也曾想过，如果当时不那么急着找工作，从而有机会到工作后接到的面试电话的公司去面试，或争取其它公司的面试电话，或许会有比现在要好很多的一份工作。但转念细想，找工作好比是找对象，我们每个人在找对象之前，都会对要找的对象有一个美好的想象：她美丽，温柔，贤惠......,他帅气，有钱，有风度......,有些人会找到如他们所想的对象，但有较多的人找到的对象与他们所想的都会有一定得差距，而这部分人通过双方共同的努力，可能比前面的一些人过的更幸福。但，谁都不知道，未来会怎样，前方的路会是怎样的轨迹。更重要的是，&lt;strong&gt;生活或生命就像一个传送带或是一列没有中间站的列车(起点是我们出生时，终点是死) ，它一直在前进，但我们却走走停停，也许在我们毫无准备时，它突然停了下来。就找对象来说：如果我们过了那个年龄段再去找，我们就像是过时的衣服，昨天的报纸，很少有人要了。所以，生命短暂，我们不能等太久！&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.8em; font-family: '楷体_GB2312';"&gt;尽管对现在的工作不满意，但一直在努力去做好，也自己给自己一些希望，并且清晰的知道：&amp;ldquo;&lt;strong&gt;对于过去我们无法改变，对于未来我们无法预知，只有现在是我们能够把握，需要珍惜的&lt;/strong&gt;&amp;rdquo;！&lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.8em; font-family: '楷体_GB2312';"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;　&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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="line-height: 1.8em; font-size: 10px;"&gt;写于2009年5月17日&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2341576.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/07/2341576.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/07/2341070.html</id><title type="text">看成功学&amp;#183;谈成功</title><summary type="text">写此文，主要是想勉励下渴望成功的朋友们(包括我自己)，能不只是有看完成功学后的那仅仅‘三分钟的热情’,能将这种热情维持的久一点儿，但不一定要像'李嘉诚演讲：打工是最愚蠢的投资'这文章里说的那样——马上采取大动作，辞职当老板，开公司或成功需要经验等的积累，然后再坚持、脚踏实地有目标的把事情做好，这样将会离成功近一点儿，即使不能成功，至少会让自己活得更洒脱一点! 记住：超越自己就是一种成功，不要总拿别人的成功来限定自己而为之所困(累)。</summary><published>2012-02-07T03:50:00Z</published><updated>2012-02-07T03:50:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/07/2341070.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/07/2341070.html"/><content type="html">&lt;p&gt;成功的话题常被人们津津乐道，成功学和成功人士的演讲或书籍传记也很容易让人感兴趣并为之'热血沸腾'。我不是成功人士，从此文的标题你也能够看出&amp;mdash;&amp;mdash;我要说些什么，无非是从一个渴望成功的非成功人士的角度，谈谈看了成功学后对成功的理解和一些感悟或反思。写此文的动力主要来自于看了&lt;a id="homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/know/archive/2012/02/06/2339641.html"&gt;李嘉诚演讲：打工是最愚蠢的投资&lt;/a&gt;这篇文章，不得不说的是&amp;mdash;&amp;mdash;在每次看了此类成功学的文章或视频后，心里都会有些躁动。为何会躁动？！&lt;/p&gt;&lt;p&gt;首先，其内容毋容置疑让你几乎没有什么可以反驳的，如这段话&amp;ldquo;很多人想把握机会，要做一件事情时，但往往给自己找了很多理由让自己一直处于矛盾之中，不断浪费时间，虚度时光! 我没时间。错！时间很多，但浪费的也很多，别人很充实，他在看电视，别人在努力学习时，他在游戏消遣虚度，总之时间就是觉得很多余，他过得越来越无聊，别人赚钱了羡慕别人，但不去学别人好好把握时间创造价值，整天不学无术&amp;rdquo;，让你不由自主的就折服了(成功人士之所以成功，口才也不会差，演讲也极具煽动性)；其次是如果你是一个在内心深处还是渴望成功的人，即使你的那种渴望已经被你的惰性或环境等磨蚀的几乎消失殆尽，我想你都会跟我一样躁动&amp;mdash;&amp;mdash;感觉演讲说的都比较实在和有道理，自己究竟为何与成功的距离就像是头顶上的气球，刚一(努力)触摸它又飞走了&amp;mdash;&amp;mdash;可望而不可及;自己是不是应该有所改变?!渴望成功的精神之火再次熊熊燃烧了起来...,思考 or 迷茫。&lt;/p&gt;&lt;p&gt;你考虑的可能还有更多，而且每次看到此类成功学心里的感受都会不太一样，就像下面我要给大家分享的是：09年我在北京工作时写的一篇&lt;a href="http://user.qzone.qq.com/1030365071/blog/1235364533"&gt;看成功学&lt;/a&gt;的日志，其中的所想要比此刻我心中的感受更深刻许多&amp;mdash;&amp;mdash;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #333399;"&gt;前天，在公司和同事们一起看了一段讲成功学的视频，看完有这样的感受： &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 视频里讲的道理，很多我们都听过或知道，只是我们很少有人能按着视频中所讲得或我们知道得去做，以至于我们现在大多都离成功很远，更致我们可能这一生都不会达到&amp;rdquo;生命中的成功&amp;rdquo;。&amp;mdash;&amp;mdash;导致这种结果得原因有很多，就像视频中讲的那样：我们可能定了一个目标去学习或完成某件事情，却因为我们自身的自制力差，把更多的时间浪费在看电视，打麻将等其它对达到目标毫无成效的事情上; 或在我们为实现目标努力了一次或多次后，没有成功，就认为&amp;ldquo;这个目标是不可能实现了&amp;rdquo;，放弃了，自己把自己限制了，不再去突破自我！或是我们认为成功是需要&amp;rdquo;机遇&amp;rdquo;(机遇是机会加万全的准备)，但却忘了&amp;rdquo;成功是给那些有准备的人&amp;rdquo;，也许我们准备了，但我们更可能忘记或误解的是：&amp;rdquo;对于成功的准备，我们是在一次次失败和努力之中慢慢积累而充分的，一次性的万全准备不太现实。 &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;视频中讲到：英国首相丘吉尔曾做过一次名为：&amp;rdquo;成功的秘诀&amp;rdquo;的演讲，整个演讲他只说了三句话，这三句话的意思相同，我们在生活中也听过很多次，就是&amp;rdquo;不放弃的坚持！&amp;rdquo;。一切的成功都是需要我们付出很多的努力，在经历了多次(5次、500次、1000次&amp;hellip;&amp;hellip;)失败后依然能坚持到底！历史上很多成功的伟人，成功的路程各有不同，但都不可缺少的一个获得成功的要素是: 坚持不懈的努力。如：爱迪生在发明灯泡时，为了找到合适的材料作灯丝，在经历了1000多次的失败后才成功！&amp;hellip;&amp;hellip;这样的事例不胜枚举，对于成功我们最缺少的是坚持！ &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;看完视频后，有一种想&amp;rdquo;改过自新&amp;rdquo;的冲动&amp;mdash;&amp;mdash;按着视频上所说的那样去做，这冲动有过多次，在看一部励志的电影或一本成功人士的传记时会有，但回头看看，自己从未努力去做，或没有坚持下去。&lt;strong&gt;这冲动(斗志、奋斗的劲)，犹如可乐瓶中的那股气，一打开后就即刻消失殆尽&lt;/strong&gt;。 &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;我渴望成功，我希望我能将这次从视频中听到的付诸于行动，向成功迈进！ &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;过去并不代表未来！ &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;世上无事不可为！ &lt;/span&gt;&lt;br /&gt;&lt;span style="line-height: 1.3em; font-family: '楷体_GB2312'; color: #333399;"&gt;成功是实现自己即定的有意义的目标！&lt;/span&gt;&lt;/p&gt;&lt;p&gt;好了，写此文，主要是想勉励下渴望成功的朋友们(包括我自己)，能不只是有看完成功学后的那仅仅&amp;lsquo;三分钟的热情&amp;rsquo;,能将这种热情维持的久一点儿，但不一定要像'&lt;a id="homepage1_HomePageDays_DaysList_DayItem_0_DayList_0_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/know/archive/2012/02/06/2339641.html"&gt;李嘉诚演讲：打工是最愚蠢的投资&lt;/a&gt;'这文章里说的那样&amp;mdash;&amp;mdash;马上采取大动作，辞职当老板，开公司或成功需要经验等的积累，然后再坚持、&lt;strong&gt;脚踏实地有目标的把事情做好，这样将会离成功近一点儿，即使不能成功，至少会让自己活得更洒脱一点! 记住：超越自己就是一种成功，不要总拿别人的成功来限定自己而为之所困(累)&lt;/strong&gt;。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2341070.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/07/2341070.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/06/2339641.html</id><title type="text">李嘉诚演讲：打工是最愚蠢的投资</title><summary type="text">很多人会认为打工并不是投资，强烈反对这种观念。其实打工才是最大最愚蠢的投资。 人生最宝贵的是什么？除了我们的青春还有什么更宝贵？很多人都抱怨我穷，我没钱想做生意又找不到资金...很多人想把握机会，要做一件事情时，但往往给自己找了很多理由让自己一直处于矛盾之中，不断浪费时间，虚度时光!</summary><published>2012-02-06T02:32:00Z</published><updated>2012-02-06T02:32:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/06/2339641.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/06/2339641.html"/><content type="html">&lt;p&gt;很多人会认为打工并不是投资，强烈反对这种观念。其实打工才是最大最愚蠢的投资。 人生最宝贵的是什么？除了我们的青春还有什么更宝贵？很多人都抱怨我穷，我没钱想做生意又找不到资金。多么的可笑！其实在你身上就有着一座金山(无形资产)，只是你不敢承认。宁可埋没也不敢利用。宁可委委屈屈地帮人打工，把你的资产双手拱让给了你的老板。我们试想一下，有谁生下来上天就会送给他一大堆金钱的？问问李嘉诚吧。 我曾经问过我的一个朋友为什么不去打工？他的回答很惊人：&amp;ldquo;说句得罪点，出去打工简直就是愚蠢浪费青春！为什么你一直是打工仔？因为你安于现状！因为你没有勇气，你天生胆小怕事不敢另择它路！所以你是打工仔！因为你没有勇往直前，没有超越自我的精神！所以，你还是一个打工仔！你想过了改变你的生活，改变你穷困的命运，但是你没有做！因为你不敢做！你害怕输，你害怕输的一穷再穷！你最后不敢想，还是在打工，所以你还是打工仔！！！你努力了，你拼搏了，你抱着雄心大志。结果你没看到预想的成就！你放弃了！你只还是一个打工仔！！为什么你一直是打工仔？因为你随波逐流！近墨者黑，不思上进，分钱没得，死爱闹热，所以你一直是打工仔！因为你畏惧你父母，你听信你亲戚，你没有主张，你不敢一个人做决定。所以，你只不过还是一直是一个打工仔！你观念传统，只想打工赚点钱结婚生子，然后生病老死，走你父母一模一样的路，所以你一直是打工仔！你天生脆弱、脑筋迟钝只想做按班就部的工作，你想做无本的生意，你想坐在家里等天上掉陷饼，所以你一直是一个打工仔！你抱怨没有机遇，机遇来到你身边的时候你又抓不住！因为你不会抓！所以你还是一直是打工仔！因为你的贫穷，所以你自卑！你退缩了！你什么都不敢做！你只会给别人打工！所以你一直是打工仔！你没有特别技能，你只有使蛮力！你和你父母一样，恶性循环，所以，你一直永远的一个一直在打工的打工仔！&lt;br /&gt;很多人想把握机会，要做一件事情时，但往往给自己找了很多理由让自己一直处于矛盾之中，不断浪费时间，虚度时光!&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1，我没口才。错！有没有人天生就会说话，台上的演讲大师也不是一下子就能出口成章，骂人的时候很擅长，抱怨的时候也很擅长，这也是口才，只是没有任何营养罢了，那是没有价值的口才；看别人争论的时候，自己满嘴评头论足，却不反省自己，倘若你做得好，你今天是否还说自己没口才[/U]&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;2，我没钱。错！不是没有钱，而是没有赚钱的脑袋，工作几年了没有钱么，有了，但是花掉了，花在没有回报的事情上面，吃喝玩乐，或存放贬值了，没有实现最大化，所以钱就这样入不敷出，这样月光光 这样被生活所需全部一一使用，这样周而复始，每月做个月光族，没有远虑，当一天和尚敲一天钟，得过且过。[/U]&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;3，我没能力。错！不给自己机会去锻炼，又有谁一出生就有跑的能力?跳的能力？一毕业就是社会精英?一创业就马上成功?当别人很努力的学习，很努力的积累，努力的找方法，而他每天就做了很少一点就觉得乏味，学了一些就觉得没意思，看了一些就不想看，跟自己跟别人说没兴趣学，然后半辈子过去，一事无成，然后牢骚上天不给机会。能力是努力修来的，不努力想有能力，天才都会成蠢材，但努力，再笨的人也能成精英。[/U]&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;4，我没时间。错！时间很多，但浪费的也很多，别人很充实，他在看电视，别人在努力学习时，他在游戏消遣虚度，总之时间就是觉得很多余，他过得越来越无聊，别人赚钱了羡慕别人，但不去学别人好好把握时间创造价值，整天不学无术。[/U]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5，我没心情。错！&lt;/strong&gt;&lt;strong&gt;心情好的时候去游玩；心情不好的时候在家喝闷酒，心情好的时候去逛街，心情不好的时候玩游戏，心情好的时候去享受，心情不好的时候就睡大觉，好坏心情都一样，反正就是不做正事。[/U]&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;6， 我没兴趣。错！&lt;/strong&gt;&lt;strong&gt;兴趣是什么，吃喝玩乐谁都有，没有成就哪里来的尽兴，出去旅游回来月光族，出去K歌 回头钱包空空，出去大量购物回来惨兮兮。打工有没有兴趣，挤公车有没有兴趣？上班签到下班打卡有没有兴趣？家里急需要一大笔钱的时候借钱有没有兴趣？要还钱没钱还有没有兴趣？卖老鼠药的人对老鼠药有没有兴趣&amp;hellip;&amp;hellip;？[/U]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7，我考虑考虑。错！考虑做吧，有可能就成了！不做吧，好不甘心，整天上班也没有个头，还是做吧，明天开始，不过还是算了，再想想，这钱挣的也不容易，不不，就是打工挣钱也不容易，所以不能放弃机会，决定了，把握机会。 哎呀！天都黑了，明天再说吧！然后第二天又因为以上123456点，因为左思右想，继续循环，最终不能决定，犹犹豫豫，还是一无所获。[/U]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;有句话是，可怜之人必有可恨之处！这一生中不是没有机遇，而是没有争取与把握，借口太多，理由太多......!争取之人必竭力争取，一分钱都没有也千方百计想办法，不争取之人给一百万也动不起来，发财不了，还有可能一败涂地，这就是行动上的欠缺，喜欢犹豫不决，喜欢拖延，喜欢半途而废，最后一辈子平庸，碌碌无为！还有的人，做事三分钟热度，一开始热情高涨，等会就继续懒散，这种人成功的帽子也不会在你的头上。看看为什么别人身价几个亿，你自己还在为钱奔波，不要羡慕别人命好，别人很困难的时候是怎么坚挺过来的，怎么克服困难，突破自己，改变命运的，你没看到罢了，活着就是要一身价值。&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2339641.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/06/2339641.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/03/2337217.html</id><title type="text">javascript你可能不知道的事</title><summary type="text">javascript你可能不知道的事，此文要跟大家分享的是在项目开发中积累的js问题解决方案和经验,希望对你有所帮助！</summary><published>2012-02-03T07:55:00Z</published><updated>2012-02-03T07:55:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/03/2337217.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/03/2337217.html"/><content type="html">&lt;p&gt;此文要跟大家分享的是在项目开发中积累的js问题解决方案和经验，文章标题&lt;a href="http://www.cnblogs.com/know/"&gt;javascript你可能不知道的事&lt;/a&gt;只是个噱头或者说是我感觉这些经验对那些大牛(或经验比较丰富的人)可能只能算得上比较基础的东西了，但这并不妨碍我写这篇博客&amp;mdash;&amp;mdash;我想对其它不知道这些经验技巧或曾被这些问题困扰过的程序员，应该还是会有一定帮助的，哪怕只有一点点儿，也是让我比较宽慰和高兴的事。所以，无论你愿不愿意看，我都将这些经验分享给你，^_^。&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;1.如果应该或本来正常显示的页面中的弹出层等，出现某些样式加载不上的情况(如：jquery-ui弹出层的样式加载不上)，可能原因是：&lt;span style="text-decoration: underline;"&gt;页面中存在重复的js文件引用&lt;/span&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;2.在&lt;span style="font-family: 新宋体;"&gt;iframe&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;中改变父窗体的&lt;/span&gt;&lt;span style="font-family: 新宋体;"&gt;url&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;的&lt;/span&gt;&lt;span style="font-family: 新宋体;"&gt;代码实现：&lt;/span&gt;window.top.location&amp;nbsp;=&amp;nbsp;&lt;a href="http://www.huohu123.com/?src=qd"&gt;http://www.huohu123.com/?src=qd&lt;/a&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 16px;"&gt;3.新窗口打开页面的另一种方法&lt;span style="font-family: 新宋体;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="d"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="&amp;lt;%#Eval("&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;ZPName")%&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;" onclick="javascript:return;" href="ajax/CommonProcess.ashx?method=searchOtherArticle&lt;span style="color: #ff0000;"&gt;&amp;amp;id&lt;/span&gt;=&lt;span style="background-color: #ffff00; color: #000000;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;#&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff;"&gt;Eval&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;ZPID&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;)&lt;/span&gt;&lt;span style="background-color: #ffff00; color: #000000;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;amp;type&lt;/span&gt;=&lt;span style="background-color: #ffff00; color: #000000;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;#&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #0000ff;"&gt;Eval&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;(&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;ZPType&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #800000;"&gt;"&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;)&lt;/span&gt;&lt;span style="background-color: #ffff00; color: #000000;"&gt;%&amp;gt;&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;         target="_blank"&amp;gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;         &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;             &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;img &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;onclick&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FarwardToZpViewPage(this)"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; src&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;='&amp;lt;%#BLL.Util.GetZuopinThumbImage(Eval("ZPDefaultImg").ToString())%&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;'&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;                 alt="" /&amp;gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; FarwardToZpViewPage(obj) {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #000000;"&gt; (document.all) {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #008000;"&gt;//&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000;"&gt; For IE&lt;/span&gt;&lt;span style="background-color: #f5f5f5; color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #000000;"&gt;                obj.parentNode.parentNode.click();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #000000;"&gt;            }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="background-color: #f5f5f5; color: #000000;"&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: 新宋体;"&gt;4.&lt;/span&gt;&lt;span style="font-size: 16px;"&gt;页面中的&lt;span style="font-family: Calibri;"&gt;window.onload&lt;/span&gt;&lt;span style="font-family: 宋体;"&gt;事件只会执行一次，如下：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp; &amp;lt;script&amp;nbsp;type="text/javascript"&amp;gt;&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.onload&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&lt;/p&gt;&lt;p class="p0"&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;alert(new&amp;nbsp;Date().getTime());&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.onload&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{&lt;/p&gt;&lt;p class="p0"&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;alert("ddfdfdfdfdf");&amp;nbsp;//&lt;span style="font-family: 宋体;"&gt;&amp;mdash;&amp;mdash;只会&amp;nbsp;弹出此提示&lt;/span&gt;&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/p&gt;&lt;p class="p0"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.&lt;strong&gt;&lt;span style="font-size: 16px;"&gt;js中对象是按引用传递的&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 16px;"&gt;，如下：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function test123() {&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; var obj = new Object();&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; obj.Num = 123;&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; T1(obj);&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; alert(obj.isValid);//---输出 true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function T1(obj) {&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; obj.isValid = true;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;&lt;p&gt;6.jQuery和DOM对象的区别，如下代码&lt;/p&gt;&lt;p&gt;Test_Set和Test_Set2方法分别是在id为webTitle的标签的jQuery和DOM对象上设置(添加)一个showNo的属性，但不同的是，在jQuery对象上设置后再通过标签对象输出showNo的属性值却是'undefined'，其原因，我的分析理解是：&lt;strong&gt;DOM对象(在内存中)存在真正的引用，而jQuery对象是其DOM对象的一个封装对象，并没有真实的引用存在&lt;/strong&gt;。&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;       &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; Test_Set() {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; obj = $("#webTitle")[0];&lt;br /&gt;            alert(obj);&lt;br /&gt;            obj.showNo = 121212;&lt;br /&gt;            alert(obj.showNo);&lt;br /&gt;            alert($("#webTitle")[0].showNo); &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;输出：121212&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; Test_Set2() {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; obj = $("#webTitle");&lt;br /&gt;            obj.showNo = 121212;&lt;br /&gt;            alert(obj.showNo);&lt;br /&gt;            alert($("#webTitle").showNo); &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;输出：undefined&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        }&lt;/div&gt;&lt;p&gt;7.&amp;amp;&amp;amp;(与运算符)的另外一种用法&amp;mdash;&amp;mdash;让代码更简洁点儿，其用法具体可参见上一篇文章&lt;a id="ctl02_TitleUrl" class="postTitle2" href="http://www.cnblogs.com/know/archive/2012/02/01/2334323.html"&gt;(改进版)jQuery表单验证插件formValidator&lt;/a&gt;的插件里，示例如下：&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;!_jQuery_formValidator_validJqObj_Array &amp;amp;&amp;amp; (_jQuery_formValidator_validJqObj_Array = new Array());&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上面这行代码的最原始的写法是：&lt;/p&gt;&lt;p&gt;if (_jQuery_formValidator_validJqObj_Array == null) {&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; _jQuery_formValidator_validJqObj_Array = new Array();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}　&lt;/p&gt;&lt;p&gt;这样意思就很明确了。这种用法比较特殊，类似于C#中如下代码&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; PreferentialRuleDiscountRepository _repository = &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; PreferentialRuleDiscountRepository Repository&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; _repository ?? (_repository = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; PreferentialRuleDiscountRepository());&lt;br /&gt;            }&lt;br /&gt;        }&lt;/div&gt;&lt;p&gt;即如果&amp;amp;&amp;amp;左边的条件成立为true，则执行右边的代码。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;好了，目前能跟大家分享的就是上面这几点经验，再基础的都不能再写了，恐怕这些让人看了都很想拍砖了，呵呵...　&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2337217.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/03/2337217.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/know/archive/2012/02/01/2334323.html</id><title type="text">(改进版)jQuery表单验证插件formValidator</title><summary type="text">jQuery表单验证插件formValidator改进版，以更强大的功能和更好的易用性，让表单验证更'得心应手'；我相信如果你仔细看看插件代码，你就会发现我分享给你的不仅仅是一个插件，而是从中能学习到的编码思想和js编码技巧及技术的提高！</summary><published>2012-02-01T03:38:00Z</published><updated>2012-02-01T03:38:00Z</updated><author><name>know@more</name><uri>http://www.cnblogs.com/know/</uri></author><link rel="alternate" href="http://www.cnblogs.com/know/archive/2012/02/01/2334323.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/know/archive/2012/02/01/2334323.html"/><content type="html">&lt;p&gt;随着jQuery被越来越多的人使用，基于jQuery的表单验证插件，也从无到现在比较流行的已经有10个左右了，像:&lt;a href="http://rickharrison.github.com/validate.js/" target="_blank"&gt;validate.js&lt;/a&gt; ,&amp;nbsp;&lt;a href="http://stefangabos.ro/php-libraries/zebra-form/" target="_blank"&gt;Zebra Form&lt;/a&gt;&amp;nbsp;, &lt;a href="http://www.jformer.com/" target="_blank"&gt;jFormer&lt;/a&gt;...,&amp;mdash;&amp;mdash;对于做web开发的朋友，表单验证算是个必不可少、经常要接触使用的功能，而且更多的时候是前端的js绝大部分都是表单验证相关的，于是选择一个好的表单验证插件将能帮助我们解决以下几点问题：1.不用任何表单验证插件，原生态实现js表单验证(这是个苦力活)，项目里充斥着类同的代码块，代码缺乏较好的复用性；2.方便维护和扩展。这篇博客我要跟大家分享的是,前两年接触到一个&lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;表单验证插件formValidator&lt;/a&gt;(此插件原author是一个网名叫'猫冬'的人，在此对'猫冬'的分享表示感谢)，当时看到此插件的代码，感觉无论是代码(思路)实现上还是易用性上都挺不错，但在项目中尝试使用几次后，发现此插件存在缺陷需要改进，已无法满足项目中的功能需求。下面首先将改进后的&lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;表单验证插件formValidator&lt;/a&gt;与原版本的不同(改进之处)列出：&lt;/p&gt;&lt;p&gt;1.将插件中固定不变并在多处出现使用的(常量)字符串，封装成枚举对象(虽然js中不存在枚举的概念，但我认为&lt;strong&gt;如果将另一种编程语言C#的概念或思想融入到另外一种编程语言中能提高代码的可读性和维护性，那么这种融入就很有必要；在编程的世界里，语言不同，但思想却是可以互通&amp;mdash;&amp;mdash;没有语言的限制&lt;/strong&gt;)，让代码变得更易读和方便维护。&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;枚举对象的定义&lt;/span&gt;：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt;  &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证类型枚举&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; _validTypeEnum = {&lt;br /&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt;         InitValidator: "InitValidator",&lt;br /&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt;         InputValidator: "InputValidator",&lt;br /&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt;         CompareValidator: "CompareValidator",&lt;br /&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt;         AjaxValidator: "AjaxValidator",&lt;br /&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt;         RegexValidator: "RegexValidator",&lt;br /&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt;         FunctionValidator: "FunctionValidator"&lt;br /&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt;     };&lt;br /&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt;     &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;(支持)验证标签枚举&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; _validTagEnum = {&lt;br /&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt;         INPUT: "INPUT",&lt;br /&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt;         TEXTAREA: "TEXTAREA",&lt;br /&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt;         SELECT: "SELECT"&lt;br /&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt;     };&lt;br /&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt;     &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;(支持)验证标签类型枚举&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt;     &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; _validTagTypeEnum = {&lt;br /&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt;         text: "text",&lt;br /&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt;         hidden: "hidden",&lt;br /&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt;         password: "password",&lt;br /&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt;         textarea: "textarea",&lt;br /&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt;         file: "file",&lt;br /&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt;         checkbox: "checkbox",&lt;br /&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt;         radio: "radio",&lt;br /&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt;         select_one: "select-one",&lt;br /&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt;         select_multiple: "select-multiple"&lt;br /&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt;     };&lt;/div&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;枚举对象的使用&lt;/span&gt;：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('adaacf69-fdbe-447c-a136-4f5e62d153ce')"&gt;&lt;div id="cnblogs_code_open_adaacf69-fdbe-447c-a136-4f5e62d153ce" class="cnblogs_code_hide"&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;各种验证方式支持的标签类型&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        sustainType: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (elem, setting) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; srcTag = elem.tagName;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; stype = elem.type;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt; (setting.validatetype) {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.InitValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.InputValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA || srcTag == _validTagEnum.SELECT) {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                    } &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.CompareValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA) {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (stype == _validTagTypeEnum.checkbox || stype == _validTagTypeEnum.radio) {&lt;br /&gt;                            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                        } &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; {&lt;br /&gt;                            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.AjaxValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (stype == _validTagTypeEnum.text || stype == _validTagTypeEnum.textarea || stype == _validTagTypeEnum.file || stype == _validTagTypeEnum.password || stype == _validTagTypeEnum.select_one) {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                    } &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                    }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.RegexValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (srcTag == _validTagEnum.INPUT || srcTag == _validTagEnum.TEXTAREA) {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (stype == _validTagTypeEnum.checkbox || stype == _validTagTypeEnum.radio) {&lt;br /&gt;                            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                        } &lt;span style="color: #0000ff;"&gt;else&lt;/span&gt; {&lt;br /&gt;                            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTypeEnum.FunctionValidator:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('f3120069-30a0-4a12-ac31-8a9932d0007d')"&gt;&lt;div id="cnblogs_code_open_f3120069-30a0-4a12-ac31-8a9932d0007d" class="cnblogs_code_hide"&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获取指定字符串的长度&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        getLength: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (jqObj) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; elem = _GetDomObj(jqObj);&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; sType = elem.type;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; len = 0;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;switch&lt;/span&gt; (sType) {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.text:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.hidden:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.password:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.textarea:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.file:&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; val = jqObj.val();&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; initConfig = $.formValidator.getInitConfig(elem.settings[0].validatorgroup);&lt;br /&gt;                    len = initConfig.wideword ? String.getCharLength(val) : val.length;&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.checkbox:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.radio:&lt;br /&gt;                    len = $("input[type='" + sType + "'][name='" + jqObj.attr("name") + "']:checked").length;&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.select_one:&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;case&lt;/span&gt; _validTagTypeEnum.select_multiple:&lt;br /&gt;                    len = jqObj.children(":selected").length;&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;break&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; len;&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. 将原版本中各方法之间传递验证标签的Id，改为传递验证标签的对象，这样就避免了在各个方法内需要再根据id获得验证标签的对象，提高了代码执行速度和性能。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.&amp;nbsp;原版本中对验证成功、错误等提示样式在插件中把样式名给限定死了，如错误的提示样式名为：onError，这样在使用此插件时就会让美工需要关心插件中各提示样式的名称，并且还要避免出现样式重复或冲突的情况，如此使用让人很不爽。&lt;strong&gt;真正好的插件，应该是让js和(需要用户自己设置的)样式完全分离&amp;mdash;&amp;mdash;这类似于编程里的'松耦合'，但这样才能让js和样式互不依赖，更好的适应用户的需求! &lt;/strong&gt;于是，我将插件中各提示样式(作为方法的参数对象的属性)让用户可以自己配置，主要代码如下：&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('7588cb71-1e97-4f3e-a9b8-9e6e867f7bc4')"&gt;&lt;div id="cnblogs_code_open_7588cb71-1e97-4f3e-a9b8-9e6e867f7bc4" class="cnblogs_code_hide"&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提示样式枚举&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; _tipCssEnum =&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;(ajax)加载处理&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        loadCss: "loadCss",&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获得焦点时的样式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        focusCss: "focusCss",&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提示[用于 为空提示] ---如果此项未设置，则使用errorCss&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        noticeCss: "noticeCss",&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;失败or错误[用于格式错误，正则表达式验证]---必须设置&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        errorCss: "errorCss",&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;成功---必须设置&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        successCss: "successCss",&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;默认状态 ---必须设置&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        defaultCss: "defaultCss"&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;initConfig: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (controlOptions) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; settings =&lt;br /&gt;            {&lt;br /&gt;                debug: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;,&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否是调试模式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                validatorgroup: "1",&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证组&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                alertmessage: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;,&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否直接弹出验证提示&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                validobjectids: "",&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证对象集合&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                focusvalid: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;,&lt;br /&gt;                onsuccess: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () { &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;; }, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证成功后的处理方法,返回true|false(可追加表单验证或阻止表单提交等)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                onerror: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () { },&lt;br /&gt;                filterInputStrFun: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (str) { &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; FilterInputOper.FilterInputStr(str); }, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;过虑输入字符串的方法[可设置]&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                isformpost: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否是表单提交(默认：false&amp;mdash;&amp;mdash;非表单提交,一般为ajax提交,true&amp;mdash;&amp;mdash;表单提交)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                submitonce: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;,&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;是否验证通过后，表单立刻提交&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                submitbutton: &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;,&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提交按钮id或对象&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                getformdata: &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;function (formdata) { } (验证通过后)获得输入的表单值&amp;mdash;&amp;mdash;只有isformpost=false时，此方法才会被调用&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证提示显示设置(default:默认根据设置)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                tipshow: "default",&lt;br /&gt;                formid: "", &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证表单的id或对象&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                tidymode: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;精简模式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                errorfocus: &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;,&lt;br /&gt;                wideword: &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;,&lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;验证提示样式设置(全局)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                tipcss:&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;(ajax)加载处理&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    loadCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获得焦点时的样式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    focusCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提示&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    noticeCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;成功&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    successCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;失败&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    errorCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;默认状态&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    defaultCss: ""&lt;br /&gt;                }&lt;br /&gt;            };&lt;br /&gt;            controlOptions = controlOptions || {};&lt;br /&gt;            controlOptions.tipcss = controlOptions.tipcss || {};&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;合并整个配置(深度拷贝)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            $.extend(&lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;, settings, controlOptions);&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!settings.isformpost) {&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!settings.submitbutton) {&lt;br /&gt;                    alert("submitbutton不能为空！");&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;;&lt;br /&gt;                }&lt;br /&gt;                _GetJqObj(settings.submitbutton).click(&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; pageIsValid = $.formValidator.pageIsValid(settings.validatorgroup);&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (pageIsValid &amp;amp;&amp;amp; _IsFunction(settings.getformdata)) {&lt;br /&gt;                        &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; formData = _GetFormData(settings.filterInputStrFun);&lt;br /&gt;                        settings.getformdata(formData);&lt;br /&gt;                    }&lt;br /&gt;                });&lt;br /&gt;            }&lt;br /&gt;            settings.tipshow = settings.tipshow || "default";&lt;br /&gt;            &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果是精简模式，发生错误的时候，第一个错误的控件就不获得焦点&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (settings.tidymode) {&lt;br /&gt;                settings.errorfocus = &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (settings.formid) {&lt;br /&gt;                _GetNodeById(settings.formid).submit(&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果不是表单提交，则阻止表单提交&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; settings.isformpost ? $.formValidator.pageIsValid(settings.validatorgroup) : &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;br /&gt;                });&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (_jQuery_formValidator_initConfig_Array == &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;br /&gt;                _jQuery_formValidator_initConfig_Array = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; Array();&lt;br /&gt;            }&lt;br /&gt;            _jQuery_formValidator_initConfig_Array.push(settings);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;设置提示信息&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        setTipState: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (elem, showCssEnum, showmsg) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; setting0 = elem.settings[0];&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; initConfig = $.formValidator.getInitConfig(setting0.validatorgroup);&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (initConfig.alertmessage &amp;amp;&amp;amp; showmsg) {&lt;br /&gt;                alert(showmsg);&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt;&lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; jq_tipObj = setting0.tipJqObj;&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; tip_IsNull = Object.isNull(jq_tipObj);&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!tip_IsNull) {&lt;br /&gt;                showmsg = showmsg || "";&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (initConfig.tidymode) {&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;保存提示信息&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    elem.Tooltip = showmsg;&lt;br /&gt;                    &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (showCssEnum != _tipCssEnum.errorCss &amp;amp;&amp;amp; showCssEnum != _tipCssEnum.noticeCss)&lt;br /&gt;                        jq_tipObj.hide();&lt;br /&gt;                }&lt;br /&gt;                jq_tipObj.removeClass();&lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;设置提示样式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; showClass = setting0.tipcss[showCssEnum];&lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;如果 noticeCss未设置，则使用 errorCss&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (String.isNullOrEmpty(showClass) &amp;amp;&amp;amp; showCssEnum == _tipCssEnum.noticeCss) {&lt;br /&gt;                    showCssEnum = _tipCssEnum.errorCss;&lt;br /&gt;                    showClass = setting0.tipcss[showCssEnum];&lt;br /&gt;                }&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (!String.isNullOrEmpty(showClass)) {&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;保存 当前提示标签 显示的样式(枚举值)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    elem.showcssenum = showCssEnum;&lt;br /&gt;                    jq_tipObj.addClass(showClass);&lt;br /&gt;                }&lt;br /&gt;                jq_tipObj.html(showmsg);&lt;br /&gt;            }&lt;br /&gt;        }&lt;/div&gt;&lt;/div&gt;&lt;p&gt;4.在initConfig配置对象中增加了一些属性，以满足更多的需求，增强功能和易用性，如：&lt;/p&gt;&lt;p&gt;filterInputStrFun: function (str) { return FilterInputOper.FilterInputStr(str); }, //过虑输入字符串的方法[可设置] 　&amp;mdash;&amp;mdash;以满足对输入字符串过虑的需求&lt;/p&gt;&lt;p&gt;isformpost: false, //是否是表单提交(默认：false&amp;mdash;&amp;mdash;非表单提交,一般为ajax提交,true&amp;mdash;&amp;mdash;表单提交)&amp;nbsp; &amp;mdash;&amp;mdash;以满足ajax提交和表单提交的需求&lt;/p&gt;&lt;p&gt;getformdata: null, //function (formdata) { } (验证通过后)获得输入的表单值&amp;mdash;&amp;mdash;只有isformpost=false时，此方法才会被调用&lt;/p&gt;&lt;p&gt;tipshow: "default",//验证提示显示设置(default:默认根据设置) &amp;mdash;&amp;mdash;设置验证提示标签对象查找方式，根据Id 或 自定义jQuery查找(find)方法。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="text-decoration: underline;"&gt;插件的使用如下：&lt;/span&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;" onclick="cnblogs_code_show('4ea51636-06b4-46a8-94eb-7d8ad8a90b8c')"&gt;&lt;div id="cnblogs_code_open_4ea51636-06b4-46a8-94eb-7d8ad8a90b8c" class="cnblogs_code_hide"&gt; &amp;lt;div class="jy_fctopbox01"&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fctopbox02"&amp;gt;&lt;br /&gt;            &amp;lt;div class="left"&amp;gt;&lt;br /&gt;                您好，欢迎来到山水檀溪！ &amp;lt;a href="/lpzx/LoginOut.aspx"&amp;gt;&lt;br /&gt;                    退出&amp;lt;/a&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;div class="right"&amp;gt;&lt;br /&gt;                &amp;lt;a href="http://xyfc.s187.com/Block_index.aspx?blockId=3" id="a_Into_House" target="_blank"&amp;gt;进入楼盘首页&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div class="jy_fcadmincenter"&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadminheader"&amp;gt;&lt;br /&gt;            &amp;lt;div class="left"&amp;gt;&lt;br /&gt;                &amp;lt;img src="http://img1.s187.com/Channels/House/xyfc.s187.com/BlockLogo/3/Block_Logo_3.png" id="BlockLogo" width="200" height="120" /&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;div class="right"&amp;gt;&lt;br /&gt;                &amp;lt;img src="http://img1.s187.com/Channels/House/xyfc.s187.com/BlockPropaganda/3/Block_XC_3.png" id="BlockXcImg" width="732" height="120" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div id="jy_fcmenu"&amp;gt;&lt;br /&gt;            &amp;lt;div class="jy_fcmenu"&amp;gt;&lt;br /&gt;                &lt;br /&gt;                        &amp;lt;ul&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li class='hover'&amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/BlockManager/BlockInfomation/Block_Detail.aspx'&amp;gt;&lt;br /&gt;                                楼盘管理&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li &amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/PurchaseIntention/PurchaseIntention_List.aspx'&amp;gt;&lt;br /&gt;                                购房意向&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li &amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/UsersProposal/BlockProposal.aspx'&amp;gt;&lt;br /&gt;                                用户建议&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li &amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/PasswordCenter/ModifyPassword.aspx'&amp;gt;&lt;br /&gt;                                修改密码&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li &amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/BlockManager/BlockDomainSet/SetBlockDominName.aspx'&amp;gt;&lt;br /&gt;                                域名设置&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;li &amp;gt;&lt;br /&gt;                            &amp;lt;a href='/lpzx/UsersQuestion/QAList.aspx'&amp;gt;&lt;br /&gt;                                在线问答&lt;br /&gt;                            &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                    &lt;br /&gt;                        &amp;lt;/ul&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div id="Page_Content" class="jy_fcadmincent"&amp;gt;&lt;br /&gt;            &lt;br /&gt;                &amp;lt;div class="jy_fcadminleft"&amp;gt;&lt;br /&gt;                    &amp;lt;div class="ul1"&amp;gt;&lt;br /&gt;                        &lt;br /&gt;                                &amp;lt;ul&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/BlockInfomation/Block_Detail.aspx' &amp;gt;&lt;br /&gt;                                    楼盘信息&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/BuildingInfomation/Building_List.aspx' class='hover'&amp;gt;&lt;br /&gt;                                    栋号信息&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/LayoutInfomation/Layout_List.aspx' &amp;gt;&lt;br /&gt;                                    户型信息&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/RoomInfomation/Room_List.aspx' &amp;gt;&lt;br /&gt;                                    套房信息&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/CustomerService/Customer_List.aspx' &amp;gt;&lt;br /&gt;                                    客服管理&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/BlockNews/BlockNews_List.aspx' &amp;gt;&lt;br /&gt;                                    楼盘动态&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/BlockProgress/BlockProgress_List.aspx' &amp;gt;&lt;br /&gt;                                    楼盘进度&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/SalesLicense/LicenseManager.aspx' &amp;gt;&lt;br /&gt;                                    预售许可证&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;li&amp;gt;&amp;lt;a href='/lpzx/BlockManager/Gallery/Block_Gallery.aspx' &amp;gt;&lt;br /&gt;                                    楼盘图库&lt;br /&gt;                                &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                                &amp;lt;/ul&amp;gt;&lt;br /&gt;                            &lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div class="jy_fcadminright" id="stepDiv1"&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil02"&amp;gt;&lt;br /&gt;            添加栋号 &amp;amp;gt;&amp;amp;gt; &amp;lt;span&amp;gt;第一步&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil01"&amp;gt;&lt;br /&gt;            &amp;lt;img src="http://images.cnblogs.com/tje_03.png" width="533" height="26" alt="" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadminme"&amp;gt;&lt;br /&gt;            &amp;lt;div class="right01"&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        楼盘名称：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        山水檀溪&lt;br /&gt;                    &amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        &amp;lt;font color="#ff0000"&amp;gt;* &amp;lt;/font&amp;gt;栋号：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s1"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="10" class="jy_fcadmin02" id="txtBuildingName" /&amp;gt;&lt;br /&gt;                    &amp;lt;/span&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu1"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipBuildingName" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        &amp;lt;font color="#ff0000"&amp;gt;* &amp;lt;/font&amp;gt;状态：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1"&amp;gt;&lt;br /&gt;                        &amp;lt;input name="rd_SaleState" type="radio" value="1" /&amp;gt;&lt;br /&gt;                        待售&lt;br /&gt;                        &amp;lt;input name="rd_SaleState" type="radio" value="2" /&amp;gt;&lt;br /&gt;                        期房&lt;br /&gt;                        &amp;lt;input name="rd_SaleState" type="radio" value="3" /&amp;gt;&lt;br /&gt;                        现房&lt;br /&gt;                        &amp;lt;input name="rd_SaleState" type="radio" value="4" /&amp;gt;&lt;br /&gt;                        尾房&lt;br /&gt;                        &amp;lt;input name="rd_SaleState" type="radio" value="5" /&amp;gt;&lt;br /&gt;                        售完&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu2"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipSaleState" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        &amp;lt;font color="#ff0000"&amp;gt;*&amp;lt;/font&amp;gt; 用途：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1"&amp;gt;&lt;br /&gt;                        &amp;lt;div class="jy_fcmu"&amp;gt;&lt;br /&gt;                            &amp;lt;ul&amp;gt;&lt;br /&gt;                                &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="1" /&amp;gt;普通住宅&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="2" /&amp;gt;单身公寓&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="3" /&amp;gt;复式&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="4" /&amp;gt;别墅&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="5" /&amp;gt;厂房&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="6" /&amp;gt;写字楼&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="7" /&amp;gt;商铺&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                                        &amp;lt;li&amp;gt;&lt;br /&gt;                                            &amp;lt;input type="checkbox" name="ckUsage" value="8" /&amp;gt;经济适用房&amp;lt;/li&amp;gt;&lt;br /&gt;                                    &lt;br /&gt;                            &amp;lt;/ul&amp;gt;&lt;br /&gt;                        &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu2"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipUsage" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        预售许可证：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1 zoon" style="display:none"&amp;gt;&lt;br /&gt;                        &amp;lt;select id="selLicense" class="jy_fcadmin02"&amp;gt;&lt;br /&gt;                        &amp;lt;/select&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs5"&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;a href="javascript:;" id="lookSelLicenseA"&amp;gt;[查看内容]&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;ins style="color: black;" id="License_empty_Ins"&amp;gt;无&amp;lt;/ins&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;a href="javascript:;" onclick="PreSellLicensePopUp.Open();return false;"&lt;br /&gt;                    title="如不存在此建筑物的预售许可证，可点击添加！"&amp;gt;添加&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        地理位置：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs5"&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;a href="javascript:;" id="markMapA"&amp;gt;地图标注&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;ins&amp;gt;&amp;lt;/ins&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p class="c1"&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        &amp;lt;font color="#ff0000"&amp;gt;*&amp;lt;/font&amp;gt; 层数：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s1"&amp;gt;&lt;br /&gt;                        &amp;lt;input maxlength="3" type="text" class="jy_fcadmin02" id="txtfloornum" /&amp;gt;&lt;br /&gt;                    &amp;lt;/span&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu1"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipfloornum" class="box001" style="display:none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        楼层说明：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;textarea id="txtBlockNote" cols="80" rows="5" class="jy_fcadmin07"&amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;                    &amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                         公摊比率：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1"&amp;gt;&lt;br /&gt;                        &amp;lt;input maxlength="10" type="text" class="jy_fcadmin02" id="txtShareBili" /&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu2"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipShareBili" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        位置说明：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;textarea id="txtPostionDesc" cols="80" rows="5" class="jy_fcadmin07"&amp;gt;&amp;lt;/textarea&amp;gt;&lt;br /&gt;                    &amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;p class="c2"&amp;gt;&lt;br /&gt;                        &amp;lt;input id="btnSubmit_Step1" type="button" class="jy_fcadminbottom02" value="下一步" /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;input&lt;br /&gt;                            id="btnCancel_Step1" type="button" class="jy_fcadminbottom02" value="取 消" /&amp;gt;&lt;br /&gt;                    &amp;lt;/p&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div class="jy_fcadminright" id="stepDiv2" style="display: none;"&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil02"&amp;gt;&lt;br /&gt;            添加栋号 &amp;amp;gt;&amp;amp;gt; &amp;lt;span&amp;gt;第二步&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil01"&amp;gt;&lt;br /&gt;            &amp;lt;img src="http://images.cnblogs.com/tj_03.png" width="533" height="26" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadminme"&amp;gt;&lt;br /&gt;            &amp;lt;div class="right01"&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        占地面积：&lt;br /&gt;                        &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="6" class="jy_fcadmin02" id="txtCoveredArea" /&amp;gt;&lt;br /&gt;                        (单位:平方米)&amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu2"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipCoveredArea" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        建筑面积：&lt;br /&gt;                        &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;div class="jy_fcscrtboxs1"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="6" class="jy_fcadmin02" id="txtBuildingArea" /&amp;gt;&lt;br /&gt;                        (单位:平方米)&amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;div class="uuu1"&amp;gt;&lt;br /&gt;                        &amp;lt;p id="tipBuildingArea" class="box001" style="display: none;"&amp;gt;&lt;br /&gt;                        &amp;lt;/p&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        电梯型号：&lt;br /&gt;                        &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="10" class="jy_fcadmin02" id="txtElevator" /&amp;gt;&lt;br /&gt;                        例：东芝&amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        外墙装修：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="10" class="jy_fcadmin02" id="txtOutSideDecorate" /&amp;gt;&lt;br /&gt;                        &amp;lt;kbd&amp;gt;例：高级面砖和涂料结合&amp;lt;/kbd&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        内墙装修：&lt;br /&gt;                    &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="10" class="jy_fcadmin02" id="txtInSideDecorate" /&amp;gt;&lt;br /&gt;                        例：125/250厚加气混凝土砌块&amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        基础：&lt;br /&gt;                        &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="15" class="jy_fcadmin02" id="txtBasicFacility" /&amp;gt;&lt;br /&gt;                        例：管桩基础&amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;label&amp;gt;&lt;br /&gt;                        主体结构：&lt;br /&gt;                        &amp;lt;/label&amp;gt;&lt;br /&gt;                    &amp;lt;span class="s2"&amp;gt;&lt;br /&gt;                        &amp;lt;input type="text" maxlength="25" class="jy_fcadmin02" id="txtSubjectStruts" /&amp;gt;&lt;br /&gt;                        例：框架剪力墙结构&amp;lt;/span&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                    &amp;lt;p class="c2"&amp;gt;&lt;br /&gt;                        &amp;lt;input id="btnPre_Step2"  type="button" class="jy_fcadminbottom02" value="上一步" /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;input type="button" id="btnSubmit_Step2" class="jy_fcadminbottom02" value="下一步" /&amp;gt;&lt;br /&gt;                    &amp;lt;/p&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;div class="jy_fcadminright" id="stepDiv3" style="display: none;"&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil02"&amp;gt;&lt;br /&gt;            添加栋号 &amp;amp;gt;&amp;amp;gt; &amp;lt;span&amp;gt;第三步&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadmintil01"&amp;gt;&lt;br /&gt;            &amp;lt;img src="http://images.cnblogs.com/tjs_03.png" width="533" height="26" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div class="jy_fcadminme"&amp;gt;&lt;br /&gt;            &amp;lt;div class="jy_fcadmintable02"&amp;gt;&lt;br /&gt;                &amp;lt;table width="100%" border="0" cellspacing="0"&amp;gt;&lt;br /&gt;                    &amp;lt;tr&amp;gt;&lt;br /&gt;                        &amp;lt;td height="39" align="right" width="20%"&amp;gt;&lt;br /&gt;                            栋号图片：&lt;br /&gt;                        &amp;lt;/td&amp;gt;&lt;br /&gt;                        &amp;lt;td align="left" width="20%"&amp;gt;&lt;br /&gt;                             &amp;lt;span class="s1"&amp;gt;(最多1张)&amp;lt;/span&amp;gt;&amp;lt;a id="a_uploadBuilding" href="javascript:;"&amp;gt;&amp;lt;img id="img_uploadBuilding" src="http://images.cnblogs.com/aw_07.png" width="80" height="25" align="absmiddle"  alt="" /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;                        &amp;lt;/td&amp;gt;&lt;br /&gt;                        &amp;lt;td align="left" width="60%"&amp;gt;&lt;br /&gt;                            &amp;lt;div class="jy_fcscrtbox03"&amp;gt;&lt;br /&gt;                                &amp;lt;p id="tip_buildingFile" class="box004"&amp;gt;&lt;br /&gt;                                &amp;lt;/p&amp;gt;&lt;br /&gt;                            &amp;lt;/div&amp;gt;&lt;br /&gt;                        &amp;lt;/td&amp;gt;&lt;br /&gt;                    &amp;lt;/tr&amp;gt;&lt;br /&gt;                &amp;lt;/table&amp;gt;&lt;br /&gt;                &amp;lt;div id="div_BuildingContainer" class="jy_fcadminimg02"&amp;gt;&lt;br /&gt;                    &amp;lt;div style="&lt;span style="color: #0000ff;"&gt;float&lt;/span&gt;: left; width: 340px; height: 380px;"&amp;gt;&lt;br /&gt;                        &amp;lt;div id="ShowBuildingFlv"&amp;gt;&lt;br /&gt;                        &amp;lt;/div&amp;gt;&lt;br /&gt;                    &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;/div&amp;gt;&lt;br /&gt;                &amp;lt;div class="jy_fcgybox005"&amp;gt;&lt;br /&gt;                    &amp;lt;input id="btnPre_Step3"   type="button" class="jy_fcadminbottom02" value="上一步" /&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;input type="button" id="btnSubmit_Step3" class="jy_fcadminbottom02" value="完 成" /&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;        &amp;lt;div id="Page_Bottom" class="jy_fcadminbottom"&amp;gt;&lt;br /&gt;            &amp;lt;img src="/lpzx/images/fckj_27.png" width="950" height="6" alt="" /&amp;gt;&lt;br /&gt;        &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &amp;lt;br /&amp;gt;&lt;br /&gt;    &amp;lt;p id="showMes_P"&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;    &amp;lt;script src="js/formValidator.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;script src="js/formValidatorRegex.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;        &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; GetInitConfigOptions(validatorgroup, onsuccess, submitbutton, getformdata) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; {&lt;br /&gt;                validatorgroup: validatorgroup,&lt;br /&gt;                formid: "form1",&lt;br /&gt;                onerror: &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (msg) { alert("onerror is " + msg) },&lt;br /&gt;                onsuccess: onsuccess,&lt;br /&gt;                submitbutton: submitbutton,&lt;br /&gt;                tipcss: {&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;(ajax)加载处理&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    loadCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;获得焦点时的样式&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    focusCss: "",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;提示&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    noticeCss: "box001",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;成功&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    successCss: "box002",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;失败&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    errorCss: "box003",&lt;br /&gt;                    &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;默认状态&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                    defaultCss: "box004"&lt;br /&gt;                },&lt;br /&gt;                getformdata: getformdata&lt;br /&gt;            };&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;显示指定的(步)容器&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; _ShowStepContainer(showNum) {&lt;br /&gt;            &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; i = 1; i &amp;lt;= 3; i++) {&lt;br /&gt;                $("div#stepDiv" + i).css("display", (i == showNum ? "block" : "none"));&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        $(document).ready(&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;            $("p").show();&lt;br /&gt;            $.formValidator.initConfig(&lt;br /&gt;            GetInitConfigOptions(1, &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;                _ShowStepContainer(2);&lt;br /&gt;            }, "btnSubmit_Step1")&lt;br /&gt;            );&lt;br /&gt;&lt;br /&gt;            $("#txtBuildingName").formValidator(&lt;br /&gt;            {&lt;br /&gt;                validatorgroup: "1",&lt;br /&gt;                tipid: "tipBuildingName",&lt;br /&gt;                onshow: "请输入栋号",&lt;br /&gt;                onfocus: "栋号不能为空",&lt;br /&gt;                oncorrect: "",&lt;br /&gt;                tipcss: &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;此对象中的属性继承(extend)其对应的initConfig.tipcss的属性&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                {&lt;br /&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;失败&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;                &lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;errorCss: "onNotice"&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;         }&lt;br /&gt;            })&lt;br /&gt;            .inputValidator({ min: 2, max: 10, onerror: "你输入的栋号(长度错误),请确认" });&lt;br /&gt;            $("#txtfloornum").formValidator({ tipid: "tipfloornum", onshow: "请输入层数", onfocus: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, oncorrect: "层数输入正确" }).inputValidator({ min: 1, max: 30, type: "value", empty: { leftempty: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, rightempty: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, emptyerror: "层数两边不能有空符号" }, onerror: "层数不能为空,值介于1-30之间" })&lt;br /&gt;            .regexValidator({ regexp: RegexEnum.integer_Z, onerror: "你输入的层数格式不正确,必须为数字" });&lt;br /&gt;            $('input[name="rd_SaleState"]:radio').formValidator({ tipid: "tipSaleState", onshow: "请选择售楼状态", onfocus: "栋号的售楼状态", oncorrect: "" }).inputValidator({ min: 1, onerror: "售楼状态必选!" });&lt;br /&gt;&lt;br /&gt;            $('input[name="ckUsage"]:checkbox').formValidator({ tipid: "tipUsage", forcevalid: &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;, onshow: "请选择用途", onfocus: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, oncorrect: "用途已选择" }).inputValidator({ min: 1, onerror: "请选择用途,必填" });&lt;br /&gt;            $("#txtShareBili").formValidator({ tipid: "tipShareBili", onshow: "请输入公摊比率", oncorrect: "" }).inputValidator({ min: 1, onerror: "公摊比率不能为空" }).regexValidator({ regexp: RegexEnum.decmal_Z, onerror: "你输入的公摊比率格式不正确,必须为数字" });&lt;br /&gt;&lt;br /&gt;            $.formValidator.initConfig(&lt;br /&gt;            GetInitConfigOptions(2, &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;                _ShowStepContainer(3);&lt;br /&gt;            }, "btnSubmit_Step2")&lt;br /&gt;            );&lt;br /&gt;&lt;br /&gt;            $("#txtCoveredArea").formValidator({ validatorgroup: "2", tipid: "tipCoveredArea", onshow: "请输入占地面积", onfocus: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, oncorrect: "占地面积输入正确" }).inputValidator({ min: 1, onerror: "占地面积不能为空" })&lt;br /&gt;            .regexValidator({ regexp: RegexEnum.integer_Z, onerror: "你输入的占地面积格式不正确,必须为数字" });&lt;br /&gt;            $("#txtBuildingArea").formValidator({ validatorgroup: "2", tipid: "tipBuildingArea", onshow: "请输入建筑面积", onfocus: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;, oncorrect: "建筑面积输入正确" }).inputValidator({ min: 1, onerror: "建筑面积不能为空" })&lt;br /&gt;            .regexValidator({ regexp: RegexEnum.integer_Z, onerror: "你输入的建筑面积格式不正确,必须为数字" });&lt;br /&gt;&lt;br /&gt;            $.formValidator.initConfig(&lt;br /&gt;            GetInitConfigOptions(3, &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () {&lt;br /&gt;                alert("验证通过"); &lt;span style="color: #0000ff;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;;&lt;br /&gt;            }, "btnSubmit_Step3", &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (formdata) {&lt;br /&gt;                alert("要提交的表单值："+$.param(formdata));&lt;br /&gt;                &lt;span style="color: #0000ff;"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; key &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; formdata) {&lt;br /&gt;                    $("#showMes_P").html($("#showMes_P").html() + "&amp;lt;br/&amp;gt;key:" + key + " | val:" + formdata[key]);&lt;br /&gt;                }&lt;br /&gt;            })&lt;br /&gt;            );&lt;br /&gt;        });&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上面就是我对此插件主要改进的介绍，插件整体还是保持原版本的结构和思想，所做的无非是让插件可读性和易用性等更好，今天分享出来，也是希望有更多的朋友能帮忙测试看看，提些自己的意见或想法，让这个&lt;a href="http://www.cnblogs.com/know/" target="_blank"&gt;表单验证插件formValidator&lt;/a&gt;能更好用(不断的改进才能做到更好，改进离不开大家的建议)！&lt;/p&gt;&lt;p&gt;补充：&lt;span style="color: #008080;"&gt;&lt;span style="color: #ff6600;"&gt;需要解决改进的功能&amp;mdash;&amp;mdash;验证可支持自由组合，如：电话和手机 只用验证其中的一个通过即可&lt;/span&gt;.&amp;nbsp; &lt;span style="color: #000000;"&gt;这个我自己尝试实现过，但效果不理想，没有想到一个比较好的解决方法，希望大家能帮忙考虑下！&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 插件和Demo下载：&lt;a href="http://files.cnblogs.com/know/FromVaild.rar"&gt;FromVaild.rar&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/know/aggbug/2334323.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/know/archive/2012/02/01/2334323.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
