<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>冰点博客</title>
	<atom:link href="http://blog.xcmd.net/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.xcmd.net</link>
	<description></description>
	<lastBuildDate>Tue, 08 May 2012 06:45:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>javascript编码：escape(), encodeURL(), encodeURIComponent() 区别</title>
		<link>http://blog.xcmd.net/2012-05-08-14/javascript%e7%bc%96%e7%a0%81%ef%bc%9aescape-encodeurl-encodeuricomponent-%e5%8c%ba%e5%88%ab.html</link>
		<comments>http://blog.xcmd.net/2012-05-08-14/javascript%e7%bc%96%e7%a0%81%ef%bc%9aescape-encodeurl-encodeuricomponent-%e5%8c%ba%e5%88%ab.html#comments</comments>
		<pubDate>Tue, 08 May 2012 06:45:11 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[JAVASCRIPT]]></category>
		<category><![CDATA[encodeURIComponent()]]></category>
		<category><![CDATA[encodeURL()]]></category>
		<category><![CDATA[escape()]]></category>
		<category><![CDATA[javascript编码]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/2012-05-08-14/javascript%e7%bc%96%e7%a0%81%ef%bc%9aescape-encodeurl-encodeuricomponent-%e5%8c%ba%e5%88%ab.html</guid>
		<description><![CDATA[javascript 常用的编码格式有：escape(), encodeURL(), encodeURIComponent() 区别如下：
escape() 方法：
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码（xx等于该字符在字符集表里面的编码的16进制数字）。比如，空格符对应的编码是%20。
不会被此方法编码的字符： @ * / +
encodeURI() 方法：
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符：! @ # $&#38; * ( ) = : / ; ? + &#8216;
encodeURIComponent() 方法：
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比，这个方法将对更多的字符进行编码，比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话，不能用这个方法来进行编码，否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符：! * ( ) &#8216;
因此，对于中文字符串来说，如果不希望把字符串编码格式转化成UTF-8格式的（比如原页面和目标页面的charset是一致的时候），只需要使用escape。如果你的页面是GB2312或者其他的编码，而接受参数的页面是UTF-8编码的，就要采用encodeURI或者encodeURIComponent。
另外，encodeURI/encodeURIComponent是在javascript1.5之后引进的，escape则在javascript1.0版本就有。
随机日志request.querystring与request.form (0)DBA数据库管理员要求 (0)2011年新年月历桌面壁纸制作,下载 (0)2012终于被砖家承认了（视频） (0)PowerDesigner中如何生成主键和自增列&#8211;Oracle版本 (0)jqtransform完美修改版 支持中文按钮 (0)Memcached在大型网站中应用 (1)数据库(增量恢复) (0)godaddy主机Linux500错误解决方法 (6)谷歌问答测试版上线 启动用户数据迁移 (0)]]></description>
			<content:encoded><![CDATA[<p>javascript 常用的编码格式有：escape(), encodeURL(), encodeURIComponent() 区别如下：</p>
<p>escape() 方法：<br />
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码（xx等于该字符在字符集表里面的编码的16进制数字）。比如，空格符对应的编码是%20。<br />
不会被此方法编码的字符： @ * / +</p>
<p>encodeURI() 方法：<br />
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。<br />
不会被此方法编码的字符：! @ # $&amp; * ( ) = : / ; ? + &#8216;</p>
<p>encodeURIComponent() 方法：<br />
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比，这个方法将对更多的字符进行编码，比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话，不能用这个方法来进行编码，否则 / 字符被编码之后URL将显示错误。<br />
不会被此方法编码的字符：! * ( ) &#8216;<br />
因此，对于中文字符串来说，如果不希望把字符串编码格式转化成UTF-8格式的（比如原页面和目标页面的charset是一致的时候），只需要使用escape。如果你的页面是GB2312或者其他的编码，而接受参数的页面是UTF-8编码的，就要采用encodeURI或者encodeURIComponent。<br />
另外，encodeURI/encodeURIComponent是在javascript1.5之后引进的，escape则在javascript1.0版本就有。</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-11-04-16/%e5%91%a8%e9%b8%bf%e7%a5%8e%e7%9a%84360pk%e5%8f%b2.html" title="周鸿祎的360PK史">周鸿祎的360PK史</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-27-15/%e7%b1%bb%e4%bc%bcgoogle%e4%b8%aa%e6%80%a7%e9%a6%96%e9%a1%b5%e7%9a%84%e9%a1%b5%e9%9d%a2%e8%87%aa%e5%ae%9a%e4%b9%89%e6%8b%96%e6%8b%bd%e5%b8%83%e5%b1%80.html" title="类似Google个性首页的页面自定义拖拽布局">类似Google个性首页的页面自定义拖拽布局</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-02-16/winapi%e6%93%8d%e4%bd%9c%e6%95%b0%e6%8d%ae%e5%ba%93.html" title="winAPI操作数据库">winAPI操作数据库</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-20-14/%e5%ae%9e%e7%94%a8%e7%9a%84%e4%ba%94%e4%b8%aawordpress%e6%95%b0%e6%8d%ae%e5%ba%93%e6%8a%80%e5%b7%a7.html" title="实用的五个WordPress数据库技巧">实用的五个WordPress数据库技巧</a> (0)</li><li><a href="http://blog.xcmd.net/2011-11-03-10/asp-net%e4%b8%8eseo-viewstate%e4%bc%98%e5%8c%96%e7%bb%88%e6%9e%81%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html" title="Asp.Net与SEO-Viewstate优化终极解决方案">Asp.Net与SEO-Viewstate优化终极解决方案</a> (0)</li><li><a href="http://blog.xcmd.net/2010-08-20-13/%e7%bd%91%e7%ab%99%e5%a4%87%e6%a1%88%e6%96%b0%e7%b3%bb%e7%bb%9f%e5%a6%82%e4%bd%95%e5%a4%87%e6%a1%88%e6%96%b0%e5%a4%87%e6%a1%88%e7%b3%bb%e7%bb%9f%e5%a4%87%e6%a1%88%e6%b5%81%e7%a8%8b.html" title="网站备案新系统如何备案(新备案系统备案流程)">网站备案新系统如何备案(新备案系统备案流程)</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-22-13/wordpress%e4%b8%8d%e7%94%a8%e6%8f%92%e4%bb%b6%e6%9c%80%e6%96%b0%e6%96%87%e7%ab%a0%e7%83%ad%e8%af%84%e6%96%87%e7%ab%a0%e9%9a%8f%e6%9c%ba%e6%96%87%e7%ab%a0.html" title="wordpress不用插件:最新文章,热评文章,随机文章">wordpress不用插件:最新文章,热评文章,随机文章</a> (0)</li><li><a href="http://blog.xcmd.net/2010-10-20-09/windows2008%e5%ae%89%e8%a3%85iis7.html" title="windows2008安装iis7">windows2008安装iis7</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-22/htaccess%e6%96%87%e4%bb%b6%e7%9a%84%e9%85%8d%e7%bd%ae%e6%96%b9%e6%b3%95.html" title=".htaccess文件的配置方法">.htaccess文件的配置方法</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-01-12/godaddy%e7%a9%ba%e9%97%b4php%e9%a1%b5%e9%9d%a2500-internal-server-error%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95.html" title="godaddy空间PHP页面500 Internal Server Error解决办法">godaddy空间PHP页面500 Internal Server Error解决办法</a> (3)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-05-08-14/javascript%e7%bc%96%e7%a0%81%ef%bc%9aescape-encodeurl-encodeuricomponent-%e5%8c%ba%e5%88%ab.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>location.reload() 和 location.replace()的区别和应用</title>
		<link>http://blog.xcmd.net/2012-05-02-17/location-reload-%e5%92%8c-location-replace%e7%9a%84%e5%8c%ba%e5%88%ab%e5%92%8c%e5%ba%94%e7%94%a8.html</link>
		<comments>http://blog.xcmd.net/2012-05-02-17/location-reload-%e5%92%8c-location-replace%e7%9a%84%e5%8c%ba%e5%88%ab%e5%92%8c%e5%ba%94%e7%94%a8.html#comments</comments>
		<pubDate>Wed, 02 May 2012 09:08:47 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[location.reload() 和 location.replace()的区别和应用]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=464</guid>
		<description><![CDATA[首先介绍两个方法的语法：
reload 方法，该方法强迫浏览器刷新当前页面。
语法： location.reload([bForceGet]) 参数： bForceGet， 可选参数， 默认为 false，从客户端缓存里取当前页。 true, 则以 GET 方式，从服务端取最新的页面, 相当于客户端点击 F5(&#8220;刷新&#8221;)
replace 方法，该方法通过指定URL替换当前缓存在历史里（客户端）的项目，因此当使用replace方法之后，你不能通过“前进”和“后退”来访问已经被替换的URL。
语法： location.replace(URL) 参数： URL
在实际应用的时候，重新刷新页面的时候，我们通常使用： location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面，所以页面的method=&#8221;post&#8221;的时候，会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到： 当调用 location.reload() 方法的时候， aspx页面此时在服务端内存里已经存在， 因此必定是 IsPostback 的。如果有这种应用： 我们需要重新加载该页面，也就是说我们期望页面能够在服务端重新被创建， 我们期望是 Not IsPostback 的。这里，location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写： location.replace(location.href)
随机日志C#的多线程使用详解 (0)全球最贵域名sex.com拍出1300万美元高价 (0).net 多线程操作form控件 (0)wordpress不用插件:最新文章,热评文章,随机文章 (0)转：猪 (1)Memcached在大型网站中应用 (1)利用WebClient和WebRequest类获得网页源代码 (3)HTML的rel属性 (0) javascript获取本机ip地址,mac地址,机器名 (0)表中有A B C三列,用SQL语句实现：当A列大于B列时选择A列否则选择B列，当B列大于C列时选择B列否则选择C列 (0)]]></description>
			<content:encoded><![CDATA[<p>首先介绍两个方法的语法：</p>
<p>reload 方法，该方法强迫浏览器刷新当前页面。</p>
<p>语法： location.reload([bForceGet]) 参数： bForceGet， 可选参数， 默认为 false，从客户端缓存里取当前页。 true, 则以 GET 方式，从服务端取最新的页面, 相当于客户端点击 F5(&#8220;刷新&#8221;)</p>
<p>replace 方法，该方法通过指定URL替换当前缓存在历史里（客户端）的项目，因此当使用replace方法之后，你不能通过“前进”和“后退”来访问已经被替换的URL。</p>
<p>语法： location.replace(URL) 参数： URL</p>
<p>在实际应用的时候，重新刷新页面的时候，我们通常使用： location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面，所以页面的method=&#8221;post&#8221;的时候，会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到： 当调用 location.reload() 方法的时候， aspx页面此时在服务端内存里已经存在， 因此必定是 IsPostback 的。如果有这种应用： 我们需要重新加载该页面，也就是说我们期望页面能够在服务端重新被创建， 我们期望是 Not IsPostback 的。这里，location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写： location.replace(location.href)</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-08-30-23/javascript%e8%8e%b7%e5%8f%96%e6%9c%ac%e6%9c%baip%e5%9c%b0%e5%9d%80mac%e5%9c%b0%e5%9d%80%e6%9c%ba%e5%99%a8%e5%90%8d.html" title=" javascript获取本机ip地址,mac地址,机器名"> javascript获取本机ip地址,mac地址,机器名</a> (0)</li><li><a href="http://blog.xcmd.net/2010-07-27-01/%e8%b0%b7%e6%ad%8c%e9%97%ae%e7%ad%94%e6%b5%8b%e8%af%95%e7%89%88%e4%b8%8a%e7%ba%bf-%e5%90%af%e5%8a%a8%e7%94%a8%e6%88%b7%e6%95%b0%e6%8d%ae%e8%bf%81%e7%a7%bb.html" title="谷歌问答测试版上线 启动用户数据迁移">谷歌问答测试版上线 启动用户数据迁移</a> (0)</li><li><a href="http://blog.xcmd.net/2011-04-15-11/sql2005%e5%88%86%e5%8c%ba%e8%a1%a8%e7%9b%b8%e5%85%b3sql.html" title="SQL2005分区表相关sql">SQL2005分区表相关sql</a> (0)</li><li><a href="http://blog.xcmd.net/2010-09-09-18/sql-server-2005%e4%b8%ad%e7%9a%84%e5%88%86%e5%8c%ba%e8%a1%a8%ef%bc%88%e4%ba%8c%ef%bc%89%ef%bc%9a%e5%a6%82%e4%bd%95%e6%b7%bb%e5%8a%a0%e3%80%81%e6%9f%a5%e8%af%a2%e3%80%81%e4%bf%ae%e6%94%b9%e5%88%86.html" title="SQL Server 2005中的分区表（二）：如何添加、查询、修改分区表中的数据">SQL Server 2005中的分区表（二）：如何添加、查询、修改分区表中的数据</a> (0)</li><li><a href="http://blog.xcmd.net/2011-09-14-18/jquery-%e5%8f%aa%e6%89%a7%e8%a1%8c%e4%b8%80%e6%ac%a1%e7%9a%84%e6%96%b9%e6%b3%95.html" title="jquery 只执行一次的方法">jquery 只执行一次的方法</a> (0)</li><li><a href="http://blog.xcmd.net/2011-08-23-11/asp-net%e5%af%bc%e5%87%baexcel%e4%b8%8b%e8%bd%bd.html" title="ASP.NET导出Excel下载">ASP.NET导出Excel下载</a> (0)</li><li><a href="http://blog.xcmd.net/2010-09-04-21/%e8%87%aa%e5%b7%b1%e5%86%99%e7%9a%84javascript%e5%8f%af%e6%89%a9%e5%b1%95%e8%a1%a8%e5%8d%95%e9%aa%8c%e8%af%81.html" title="自己写的JAVASCRIPT可扩展表单验证">自己写的JAVASCRIPT可扩展表单验证</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-04-12/%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a2%9e%e9%87%8f%e6%81%a2%e5%a4%8d.html" title="数据库(增量恢复)">数据库(增量恢复)</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/zend-studio-7-1%e5%ae%89%e8%a3%85%e8%b0%83%e8%af%95%e8%ae%be%e7%bd%ae.html" title="Zend Studio 7.1安装调试设置">Zend Studio 7.1安装调试设置</a> (0)</li><li><a href="http://blog.xcmd.net/2010-08-03-12/java%e5%a4%9a%e7%ba%bf%e7%a8%8b%e7%bc%96%e7%a8%8b.html" title="Java多线程编程">Java多线程编程</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-05-02-17/location-reload-%e5%92%8c-location-replace%e7%9a%84%e5%8c%ba%e5%88%ab%e5%92%8c%e5%ba%94%e7%94%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Godaddy 优惠码大全 （Godaddy Coupon Codes）</title>
		<link>http://blog.xcmd.net/2012-03-13-17/godaddy-%e4%bc%98%e6%83%a0%e7%a0%81%e5%a4%a7%e5%85%a8-%ef%bc%88godaddy-coupon-codes%ef%bc%89.html</link>
		<comments>http://blog.xcmd.net/2012-03-13-17/godaddy-%e4%bc%98%e6%83%a0%e7%a0%81%e5%a4%a7%e5%85%a8-%ef%bc%88godaddy-coupon-codes%ef%bc%89.html#comments</comments>
		<pubDate>Tue, 13 Mar 2012 09:33:05 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[主机|域名]]></category>
		<category><![CDATA[Godaddy]]></category>
		<category><![CDATA[Godaddy Coupon Codes]]></category>
		<category><![CDATA[Godaddy优惠码]]></category>
		<category><![CDATA[优惠码]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=463</guid>
		<description><![CDATA[


Godaddy 优惠码大全 （Godaddy Coupon Codes）



Godaddy主机，域名，SSL等产品优惠码



优惠码

优惠详情及描述
为您节省
点击享受优惠


不用优惠码，进入立减
原价49.99美元的SSL通过优惠链接只要12.99一年，另外附送一年免费独立IP（价值60美元），多买多送，不限数量。即：一年独立IP + 一年SSL认证 = 12.99美元

85%
GoDaddy SSL+独立IP只要$12.99一年


不用优惠码，进入立减
Godaddy 任何型号，无限流量空间，进入立减20%

60%
GoDaddy无限流量空间立减20%


不用优惠码，进入立减
Godaddy注册.COM域名只要$7.49每年

35%
Godaddy注册.com域名只要$7.49每年!


cjctld749
注册.org, .net, .biz玉米只要$7.49每年

高于50%
GoDaddy .NET, .ORG域名注册 


cjcchp125
cjcfat125
购买100美元以上的产品，立减25%
25%
GoDaddy购买100刀以上减25% 


cjcwinner
域名转移优惠码，域名转移只要$7.49
35%
www.GoDaddy.com 


cjcfat75
cjcchp75
75美元以上的交易，立减15%
15%

GoDaddy购买75美元以上减15% 


cjctenoff
cjcchp50
50美元以上的交易，立减10美元
$10
GoDaddy购买50美元以上立减10美元 


cjcfat30
cjcchp30
cjcsave
30刀以上的交易，立减5刀
$5
50刀以上立减5刀链接


cjcdoe20
cjchost20
cjcshare20
Godaddy虚拟主机8折优惠码
20%
GoDaddy虚拟主机8折专用链接 


cjcvps20
Godaddy VPS主机8折优惠码
20%
GoDaddy VPS 8折优惠 


cjcd‍ed20
Godaddy独立服务器8折优惠码
20%
GoDaddy独立主机8折优惠 


cjcsave10
任何交易9折优惠码，没限制
10%
GoDaddy.com 任何交易9折优惠码


cjconeoff
cjcdeal74
任何交易，立减1美元优惠码
$1
GoDaddy任何交易减1刀，适合小额交易 



推荐文章Godaddy Linux空间更新不再支持java (0)Godaddy做活动主机$1.99/月起 (0)godaddy supesite 登录、退出出错的解决办法 (0)godaddy主机也太不稳定了 (0)今天上午godaddy空间又出问题了 (0)怎么在GoDaddy Windows主机上实现WordPress的伪静态 (0)GoDaddy windows主机空间500错误解决方法 (0)godaddy主机Linux500错误解决方法 (6)godaddy空间PHP页面500 Internal Server Error解决办法 (3)Godaddy主机常见问题集合 (0)]]></description>
			<content:encoded><![CDATA[<table border="1" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td style="text-align: center;" colspan="6" align="center" valign="middle"><strong>Godaddy 优惠码大全 （Godaddy Coupon Codes）<br />
</strong></td>
</tr>
<tr>
<td style="text-align: center;" colspan="6" align="center" valign="middle" bgcolor="#3366cc"><strong><span style="color: #ffffff;">Godaddy主机，域名，SSL等产品优惠码</span><br />
</strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong>优惠码<br />
</strong></td>
<td align="center" valign="middle"><strong>优惠详情及描述</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>为您节省</strong></td>
<td align="center" valign="middle"><strong>点击享受优惠</strong></td>
</tr>
<tr>
<td align="center" valign="middle"><span style="color: #ff0000;"><strong>不用优惠码，进入立减</strong></span></td>
<td align="center" valign="middle"><strong>原价49.99美元的SSL通过优惠链接只要12.99一年，另外附送一年免费独立IP（价值60美元），<span style="color: #008000;">多买多送，不限数量</span>。</strong><strong><span style="color: #008000;">即：一年独立IP + 一年SSL认证 = 12.99美元</span><br />
</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>85%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/li122uoxuowBGIFCKDKBDCFJLCIG" target="_blank">GoDaddy SSL+独立IP只要$12.99一年</a><img src="http://www.lduhtrp.net/sl72iw-ousDIKHEMFMDFEHLNEKI" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><strong><span style="color: #ff0000;">不用优惠码，进入立减</span></strong></td>
<td align="center" valign="middle"><strong>Godaddy 任何型号，无限流量空间，进入立减20%<br />
</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>60%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.jdoqocy.com/9h115zw41w3JOQNKSLSJLKNRSOTO" target="_blank">GoDaddy无限流量空间立减20%</a><img src="http://www.lduhtrp.net/co115drvjpn8DFC9HAH8A9CGHDID" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle"><span style="color: #ff0000;"><strong>不用优惠码，进入立减</strong></span></td>
<td align="center" valign="middle"><strong><strong>Godaddy注册.COM域名只要</strong>$7.49每年<br />
</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>35%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.jdoqocy.com/7g116hz74z6MRTQNVOVMONQVVQTO" target="_blank">Godaddy注册.com域名只要$7.49每年!</a><img src="http://www.tqlkg.com/pd101xjnbhf05741929021499472" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjctld749</td>
<td align="center" valign="middle"><strong>注册.org, .net, .biz玉米只要<strong>$7.49每年</strong><br />
</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>高于50%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/p0117nmvsmu9EGDAIBI9BADHIEAG" target="_blank">GoDaddy .NET, .ORG域名注册 </a><img src="http://www.tqlkg.com/ic108bosgmk5AC96E7E5769DEA6C" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcchp125<br />
cjcfat125</td>
<td align="center" valign="middle"><strong>购买100美元以上的产品，立减25%</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>25%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/p0117nmvsmu9EGDAIBI9BADHIEAG" target="_blank">GoDaddy购买100刀以上减25% </a><img src="http://www.tqlkg.com/ic108bosgmk5AC96E7E5769DEA6C" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcwinner</td>
<td align="center" valign="middle"><strong>域名转移优惠码，域名转移只要$7.49</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>35%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/p0117nmvsmu9EGDAIBI9BADHIEAG" target="_blank">www.GoDaddy.com </a><img src="http://www.tqlkg.com/ic108bosgmk5AC96E7E5769DEA6C" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcfat75<br />
cjcchp75</td>
<td align="center" valign="middle"><strong>75美元以上的交易，立减15%</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>15%<br />
</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/p0117nmvsmu9EGDAIBI9BADHIEAG" target="_blank">GoDaddy购买75美元以上减15% </a><img src="http://www.tqlkg.com/ic108bosgmk5AC96E7E5769DEA6C" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjctenoff<br />
cjcchp50</td>
<td align="center" valign="middle"><strong>50美元以上的交易，立减10美元</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>$10</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/p0117nmvsmu9EGDAIBI9BADHIEAG" target="_blank">GoDaddy购买50美元以上立减10美元 </a><img src="http://www.tqlkg.com/ic108bosgmk5AC96E7E5769DEA6C" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcfat30<br />
cjcchp30<br />
cjcsave</td>
<td align="center" valign="middle"><strong>30刀以上的交易，立减5刀</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>$5</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">50刀以上立减5刀链接</a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcdoe20<br />
cjchost20<br />
cjcshare20</td>
<td align="center" valign="middle"><strong>Godaddy虚拟主机8折优惠码</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>20%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">GoDaddy虚拟主机8折专用链接 </a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcvps20</td>
<td align="center" valign="middle"><strong><strong>Godaddy VPS主机8折优惠码</strong></strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>20%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">GoDaddy VPS 8折优惠 </a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcd‍ed20</td>
<td align="center" valign="middle"><strong><strong>Godaddy独立服务器8折优惠码</strong></strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>20%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">GoDaddy独立主机8折优惠 </a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjcsave10</td>
<td align="center" valign="middle"><strong>任何交易9折优惠码，没限制</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>10%</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">GoDaddy.com 任何交易9折优惠码</a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
<tr>
<td align="center" valign="middle">cjconeoff<br />
cjcdeal74</td>
<td align="center" valign="middle"><strong>任何交易，立减1美元优惠码</strong></td>
<td align="center" valign="middle" bgcolor="#ffff99"><strong>$1</strong></td>
<td align="center" valign="middle"><strong><a href="http://www.anrdoezrs.net/54103r09608OTVSPXQXOQPSWXTPV" target="_blank">GoDaddy任何交易减1刀，适合小额交易 </a><img src="http://www.awltovhc.com/hm122drvjpn8DFC9HAH8A9CGHD9F" border="0" alt="" width="1" height="1" /></strong></td>
</tr>
</tbody>
</table>
<h3  class="related_post_title">推荐文章</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2011-08-22-21/godaddy-linux%e7%a9%ba%e9%97%b4%e6%9b%b4%e6%96%b0%e4%b8%8d%e5%86%8d%e6%94%af%e6%8c%81java.html" title="Godaddy Linux空间更新不再支持java">Godaddy Linux空间更新不再支持java</a> (0)</li><li><a href="http://blog.xcmd.net/2010-10-25-15/godaddy%e5%81%9a%e6%b4%bb%e5%8a%a8%e4%b8%bb%e6%9c%ba1-99%e6%9c%88%e8%b5%b7.html" title="Godaddy做活动主机$1.99/月起">Godaddy做活动主机$1.99/月起</a> (0)</li><li><a href="http://blog.xcmd.net/2010-06-19-13/godaddy-supesite-%e7%99%bb%e5%bd%95%e3%80%81%e9%80%80%e5%87%ba%e5%87%ba%e9%94%99%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95.html" title="godaddy supesite 登录、退出出错的解决办法">godaddy supesite 登录、退出出错的解决办法</a> (0)</li><li><a href="http://blog.xcmd.net/2010-06-11-10/godaddy%e4%b8%bb%e6%9c%ba%e4%b9%9f%e5%a4%aa%e4%b8%8d%e7%a8%b3%e5%ae%9a%e4%ba%86.html" title="godaddy主机也太不稳定了">godaddy主机也太不稳定了</a> (0)</li><li><a href="http://blog.xcmd.net/2010-05-28-10/%e4%bb%8a%e5%a4%a9%e4%b8%8a%e5%8d%88godaddy%e7%a9%ba%e9%97%b4%e5%8f%88%e5%87%ba%e9%97%ae%e9%a2%98%e4%ba%86.html" title="今天上午godaddy空间又出问题了">今天上午godaddy空间又出问题了</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-04-11/%e6%80%8e%e4%b9%88%e5%9c%a8godaddy-windows%e4%b8%bb%e6%9c%ba%e4%b8%8a%e5%ae%9e%e7%8e%b0wordpress%e7%9a%84%e4%bc%aa%e9%9d%99%e6%80%81.html" title="怎么在GoDaddy Windows主机上实现WordPress的伪静态">怎么在GoDaddy Windows主机上实现WordPress的伪静态</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-04-11/godaddy-windows%e4%b8%bb%e6%9c%ba%e7%a9%ba%e9%97%b4500%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95.html" title="GoDaddy windows主机空间500错误解决方法">GoDaddy windows主机空间500错误解决方法</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-02-11/godaddy%e4%b8%bb%e6%9c%balinux500%e9%94%99%e8%af%af.html" title="godaddy主机Linux500错误解决方法">godaddy主机Linux500错误解决方法</a> (6)</li><li><a href="http://blog.xcmd.net/2010-04-01-12/godaddy%e7%a9%ba%e9%97%b4php%e9%a1%b5%e9%9d%a2500-internal-server-error%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95.html" title="godaddy空间PHP页面500 Internal Server Error解决办法">godaddy空间PHP页面500 Internal Server Error解决办法</a> (3)</li><li><a href="http://blog.xcmd.net/2010-03-25-20/godaddy%e4%b8%bb%e6%9c%ba%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98%e9%9b%86%e5%90%88.html" title="Godaddy主机常见问题集合">Godaddy主机常见问题集合</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-03-13-17/godaddy-%e4%bc%98%e6%83%a0%e7%a0%81%e5%a4%a7%e5%85%a8-%ef%bc%88godaddy-coupon-codes%ef%bc%89.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微软没有公开的游标分页</title>
		<link>http://blog.xcmd.net/2012-02-27-14/%e5%be%ae%e8%bd%af%e6%b2%a1%e6%9c%89%e5%85%ac%e5%bc%80%e7%9a%84%e6%b8%b8%e6%a0%87%e5%88%86%e9%a1%b5.html</link>
		<comments>http://blog.xcmd.net/2012-02-27-14/%e5%be%ae%e8%bd%af%e6%b2%a1%e6%9c%89%e5%85%ac%e5%bc%80%e7%9a%84%e6%b8%b8%e6%a0%87%e5%88%86%e9%a1%b5.html#comments</comments>
		<pubDate>Mon, 27 Feb 2012 06:30:09 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[MSSQL]]></category>
		<category><![CDATA[微软没有公开的游标分页]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/2012-02-27-14/%e5%be%ae%e8%bd%af%e6%b2%a1%e6%9c%89%e5%85%ac%e5%bc%80%e7%9a%84%e6%b8%b8%e6%a0%87%e5%88%86%e9%a1%b5.html</guid>
		<description><![CDATA[微软没有公开的游标分页
CREATE procedure p_qcd_Paginationcursor
@sql nvarchar(4000), --要执行的sql语句
@currentpage int=1, --要显示的页码
@pagesize int=10, --每页的大小
@pagecount int=0 out, --总页数
@recordCount int=0 out--总记录数
as
set nocount on
declare @cursor int --cursor 是游标的id

declare @timediff datetime  --耗时测试时间差 cn-web.com提供
select @timediff=getdate() 

exec sp_cursoropen @cursor output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
select @recordCount=@pagecount
select @pagecount=ceiling(1.0*@pagecount/@pagesize) ,@currentpage=(@currentpage-1)*@pagesize+1
select @pagecount,@currentpage
exec sp_cursorfetch @cursor ,16,@currentpage,@pagesize
exec sp_cursorclose @cursor
select datediff(ms,@timediff,getdate()) as 耗时
GO
随机日志匿名委托 (0)Apache+Tomcat 泛域名配置 (0)php5,MySQL5,apache2,phpmyadmin,ZendOptimizer安装与配置 (0)C＃操作数据库备份和还原 (1)ASP.NET必须知道的东东 (0)开源门户Picok安装设置 (0)WebRequest类和WebResponse类 (0)PHP获取mysql自增后的ID (0)HR的至高机密:20个公司绝对不会告诉你的潜规则 (0)3D肉蒲团之极乐宝鉴 无水印DVD高清版 (0)]]></description>
			<content:encoded><![CDATA[<p>微软没有公开的游标分页</p>
<pre>CREATE procedure p_qcd_Paginationcursor
@sql nvarchar(4000), --要执行的sql语句
@currentpage int=1, --要显示的页码
@pagesize int=10, --每页的大小
@pagecount int=0 out, --总页数
@recordCount int=0 out--总记录数
as
set nocount on
declare @cursor int --cursor 是游标的id

declare @timediff datetime  --耗时测试时间差 cn-web.com提供
select @timediff=getdate() 

exec sp_cursoropen @cursor output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
select @recordCount=@pagecount
select @pagecount=ceiling(1.0*@pagecount/@pagesize) ,@currentpage=(@currentpage-1)*@pagesize+1
select @pagecount,@currentpage
exec sp_cursorfetch @cursor ,16,@currentpage,@pagesize
exec sp_cursorclose @cursor
select datediff(ms,@timediff,getdate()) as 耗时
GO</pre>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-04-02-11/godaddy%e4%b8%bb%e6%9c%balinux500%e9%94%99%e8%af%af.html" title="godaddy主机Linux500错误解决方法">godaddy主机Linux500错误解决方法</a> (6)</li><li><a href="http://blog.xcmd.net/2010-11-04-12/sqldmo%e7%b1%bb%e7%9a%84%e4%bd%bf%e7%94%a8.html" title="SQLDMO类的使用">SQLDMO类的使用</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-04-12/c%e8%8e%b7%e5%8f%96%e5%b1%80%e5%9f%9f%e7%bd%91%e7%9a%84sql-server%e6%9c%8d%e5%8a%a1%e5%88%97%e8%a1%a8.html" title="C#获取局域网的sql server服务列表">C#获取局域网的sql server服务列表</a> (0)</li><li><a href="http://blog.xcmd.net/2011-02-18-16/27-%e6%ac%be%e7%bb%8f%e5%85%b8%e7%9a%84css-%e6%a1%86%e6%9e%b6.html" title="27 款经典的CSS 框架">27 款经典的CSS 框架</a> (1)</li><li><a href="http://blog.xcmd.net/2010-05-04-23/%e7%a7%91%e5%ad%a6%e2%80%9c%e8%b6%85%e4%ba%ba%e2%80%9d-%e5%b0%bc%e5%8f%a4%e6%8b%89%c2%b7%e7%89%b9%e6%96%af%e6%8b%89-%ef%bc%88%e4%b8%8b%ef%bc%89.html" title="科学“超人” 尼古拉·特斯拉 （下）">科学“超人” 尼古拉·特斯拉 （下）</a> (0)</li><li><a href="http://blog.xcmd.net/2011-04-15-11/sql2005%e5%88%86%e5%8c%ba%e8%a1%a8%e7%9b%b8%e5%85%b3sql.html" title="SQL2005分区表相关sql">SQL2005分区表相关sql</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-27-17/%e7%bb%8f%e5%85%b8%e9%ab%98%e6%b8%85%e5%a3%81%e7%ba%b8%e6%ac%a3%e8%b5%8f.html" title="经典高清壁纸欣赏">经典高清壁纸欣赏</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-22-17/oracle11g-design-center.html" title="Oracle11G Design Center">Oracle11G Design Center</a> (0)</li><li><a href="http://blog.xcmd.net/2010-09-03-20/dba%e6%95%b0%e6%8d%ae%e5%ba%93%e7%ae%a1%e7%90%86%e5%91%98%e8%a6%81%e6%b1%82.html" title="DBA数据库管理员要求">DBA数据库管理员要求</a> (0)</li><li><a href="http://blog.xcmd.net/2010-07-29-21/%e7%90%86%e8%a7%a3c%e5%80%bc%e7%b1%bb%e5%9e%8b%e4%b8%8e%e5%bc%95%e7%94%a8%e7%b1%bb%e5%9e%8b.html" title="理解C#值类型与引用类型">理解C#值类型与引用类型</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-27-14/%e5%be%ae%e8%bd%af%e6%b2%a1%e6%9c%89%e5%85%ac%e5%bc%80%e7%9a%84%e6%b8%b8%e6%a0%87%e5%88%86%e9%a1%b5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#中？与？？的区别</title>
		<link>http://blog.xcmd.net/2012-02-27-14/c%e4%b8%ad%ef%bc%9f%e4%b8%8e%ef%bc%9f%ef%bc%9f%e7%9a%84%e5%8c%ba%e5%88%ab.html</link>
		<comments>http://blog.xcmd.net/2012-02-27-14/c%e4%b8%ad%ef%bc%9f%e4%b8%8e%ef%bc%9f%ef%bc%9f%e7%9a%84%e5%8c%ba%e5%88%ab.html#comments</comments>
		<pubDate>Mon, 27 Feb 2012 06:24:02 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[C#/ASP.NET]]></category>
		<category><![CDATA[C#中？与？？的区别]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=461</guid>
		<description><![CDATA[单问号&#8212;用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!
双问号&#8212;用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!
使用？？操作符，需要前面的表达式为引用对象，值对象是不允许的。
随机日志SQL注入语句 (0)实用的五个WordPress数据库技巧 (0).htaccess文件的配置方法 (0)给Wordpress开启Gzip功能 (0)关于网站统计IP地址地区查询 (0)PowerDesigner中如何生成主键和自增列&#8211;Oracle版本 (0)MYsql 修改root密码 (0)Oracle推出Linq to Oracle (0)关于session_satrt()的Cannot send session cache limiter &#8211; headers问题解决 (0)在线生成FlashPaper文档 (2)]]></description>
			<content:encoded><![CDATA[<div>单问号&#8212;用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!</div>
<div>双问号&#8212;用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值,否则跳过!</div>
<div>使用？？操作符，需要前面的表达式为引用对象，值对象是不允许的。</div>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2011-10-17-13/%e7%99%be%e5%ba%a6%e8%b4%b4%e5%90%a7%e5%9b%be%e7%89%87%e6%89%b9%e9%87%8f%e4%b8%8b%e8%bd%bd%e8%bd%af%e4%bb%b6.html" title="百度贴吧图片批量下载软件">百度贴吧图片批量下载软件</a> (1)</li><li><a href="http://blog.xcmd.net/2010-08-07-01/php%e5%88%9d%e5%ad%a6%e8%80%85%e5%a4%b4%e7%97%9b%e7%9a%84%e4%b9%9d%e4%b8%aa%e9%97%ae%e9%a2%98.html" title="PHP初学者头痛的九个问题">PHP初学者头痛的九个问题</a> (0)</li><li><a href="http://blog.xcmd.net/2010-08-31-20/%e7%bb%b4%e5%9f%ba%e6%8f%ad%e5%af%86%e9%83%a8%e5%88%86%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bd%ac%e7%a7%bb%e8%87%b3%e5%9c%b0%e4%b8%8b30%e7%b1%b3%e6%a0%b8%e6%8e%a9%e4%bd%93.html" title="维基揭密部分服务器转移至地下30米核掩体">维基揭密部分服务器转移至地下30米核掩体</a> (0)</li><li><a href="http://blog.xcmd.net/2010-09-10-17/50%e7%a7%8d%e6%96%b9%e6%b3%95%e4%bc%98%e5%8c%96sql-server%e6%95%b0%e6%8d%ae%e5%ba%93%e6%9f%a5%e8%af%a2.html" title="50种方法优化SQL Server数据库查询">50种方法优化SQL Server数据库查询</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-28-16/hr%e7%9a%84%e8%87%b3%e9%ab%98%e6%9c%ba%e5%af%8620%e4%b8%aa%e5%85%ac%e5%8f%b8%e7%bb%9d%e5%af%b9%e4%b8%8d%e4%bc%9a%e5%91%8a%e8%af%89%e4%bd%a0%e7%9a%84%e6%bd%9c%e8%a7%84%e5%88%99.html" title="HR的至高机密:20个公司绝对不会告诉你的潜规则">HR的至高机密:20个公司绝对不会告诉你的潜规则</a> (0)</li><li><a href="http://blog.xcmd.net/2011-02-24-11/%e8%bd%ac%e5%9f%ba%e5%9b%a0.html" title="转基因">转基因</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-05-20/mysql%e5%88%a0%e9%99%a4%e9%87%8d%e5%a4%8d%e8%ae%b0%e5%bd%95.html" title="Mysql删除重复记录">Mysql删除重复记录</a> (0)</li><li><a href="http://blog.xcmd.net/2011-06-23-01/c%e7%9a%84string%e7%b1%bb%e6%b7%bb%e5%8a%a0%e6%8c%89%e5%ad%97%e8%8a%82%e6%88%aa%e5%8f%96%e5%ad%97%e7%ac%a6%e4%b8%b2%e7%9a%84%e6%89%a9%e5%b1%95%e6%96%b9%e6%b3%95.html" title="C#的String类添加按字节截取字符串的扩展方法 ">C#的String类添加按字节截取字符串的扩展方法 </a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-22/wordpress%e6%8f%92%e4%bb%b6wp-postviews%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e.html" title="Wordpress插件WP-PostViews使用说明">Wordpress插件WP-PostViews使用说明</a> (2)</li><li><a href="http://blog.xcmd.net/2011-12-22-10/csdn600%e4%b8%87%e7%94%a8%e6%88%b7%e7%9a%84%e7%99%bb%e5%bd%95%e5%90%8d%e5%af%86%e7%a0%81%e9%82%ae%e7%ae%b1%e7%ad%89%e8%b5%84%e6%96%99%e4%b8%8b%e8%bd%bd%e5%9c%b0%e5%9d%80.html" title="CSDN600万用户的登录名密码邮箱等资料下载地址">CSDN600万用户的登录名密码邮箱等资料下载地址</a> (5)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-27-14/c%e4%b8%ad%ef%bc%9f%e4%b8%8e%ef%bc%9f%ef%bc%9f%e7%9a%84%e5%8c%ba%e5%88%ab.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>斯巴达克斯:复仇欧美剧第二季更新到第8集免费下载</title>
		<link>http://blog.xcmd.net/2012-02-26-20/%e6%96%af%e5%b7%b4%e8%be%be%e5%85%8b%e6%96%af%e5%a4%8d%e4%bb%87%e6%ac%a7%e7%be%8e%e5%89%a7%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bd.html</link>
		<comments>http://blog.xcmd.net/2012-02-26-20/%e6%96%af%e5%b7%b4%e8%be%be%e5%85%8b%e6%96%af%e5%a4%8d%e4%bb%87%e6%ac%a7%e7%be%8e%e5%89%a7%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bd.html#comments</comments>
		<pubDate>Sun, 26 Feb 2012 12:53:03 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[生活|工作]]></category>
		<category><![CDATA[经典视频]]></category>
		<category><![CDATA[免费下载]]></category>
		<category><![CDATA[复仇欧美剧]]></category>
		<category><![CDATA[斯巴达克斯]]></category>
		<category><![CDATA[第一季 第二季]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=459</guid>
		<description><![CDATA[
【简介】：
斯巴达克斯－－重现罗马帝国奴隶英雄的传奇人生。
斯巴达克斯是巴尔干半岛东北部的色雷斯人，罗马侵入北希腊时，他被俘虏，并被卖为角斗士奴隶，送到卡普亚城一所角斗士学校参训。他鼓动同伴们夺取武装，逃到维苏威火山上发动起义。起义队伍由七十余名角斗士很快发展为十余万人，并多次战胜罗马军队。公元前72年，斯巴达克斯率军沿亚得里海岸穿过整个意大利，在摩提那会战中击溃了卡西乌斯总督的军队，然后又挥师南下。罗马元老院宣布国家进入紧急状态，命令克拉苏统率大军前往镇压。当年秋，起义军在布鲁提亚战役中遭受重大损失，被迫于公元前71年春强行突袭意大利南部港口布林底西，渡海前往希腊。罗马军队四面围剿，终于在阿普里亚决战中将起义镇压下去，斯巴达克斯战死，余部在意大利许多地区坚持战斗达十年之久。
如果你看过上世纪六十年代那部独得四项奥斯卡奖的史诗电影《斯巴达克斯》，你就会明白这个故事多么迷人。如今，好莱坞电视业3E电影院的新生力量StarZ在翻拍电影《撞车》（Crash）尝到甜头之后，将自己第二部原创电视剧瞄准了这个独具魅力的古典传说。在此之前，StarZ纯粹是个 &#8220;电影台&#8221;。
电视剧版《斯巴达克斯》根据真实历史故事改编，讲述公元前73年罗马共和国一名奴隶（角斗士）领导的大起义。这次起义历时两年，起义军由几个人壮大到12万人，连当时欧洲战无不胜的神圣罗马军团都曾败下阵来。起义军差点征服整个意大利，后来寡不敌众，直至全军覆没。据称，电视剧版《斯巴达克斯》和电视剧版《罗马帝国》一样注重四大元素：角色、动作戏、性爱和格斗。。
斯巴达克斯：血与沙第一季【第13集（全）[中英字幕]】
第01集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季01[中英字幕].rmvb
第02集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季02[中英字幕].rmvb
第03集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季03[中英字幕].rmvb
第04集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季04[中英字幕].rmvb
第05集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季05[中英字幕].rmvb
第06集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季06[中英字幕].rmvb
第07集：
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季07[中英字幕].rmvb
第08集：
ftp://3e:3e@www5.eee4.cc:1415/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季08[中英字幕].rmvb
第09集：
ftp://4e:4e@www5.eee4.cc:1430/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季09[中英字幕].rmvb
第10集：
ftp://5e:5e@www5.eee4.cc:1445/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季10[中英字幕].rmvb
第11集：
ftp://4e:4e@m1.3edyy.com:1452/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季11[中英字幕].rmvb
第12集：
ftp://3e:3e@d8.3edyy.com:128/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季12[中英字幕].rmvb
第13集：完
ftp://4e:4e@d8.3edyy.com:132/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季13[中英字幕].rmvb
斯巴达克斯前传：诸神竞技场【HD中英双字第06集(全)/1024高清版06集(全)】
第01集：
ftp://4e:4e@m1.3edyy.com:1581/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场01.rmvb
第02集：
ftp://5e:5e@m1.3edyy.com:1582/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场02.rmvb
第03集：
ftp://6e:6e@m1.3edyy.com:1583/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场03.rmvb
第04集：
ftp://4e:4e@m3.3edyy.com:519/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场04.rmvb
第05集：
ftp://3e:3e@d6.3edyy.com:624/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场05.rmvb
第06集：结局
ftp://7e:7e@d8.3edyy.com:220/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场06.rmvb
斯巴达克斯：血与沙第二季
第01集：ftp://dy44:piaohua@dy44.piaohua.com:2683/飘花电影piaohua.com斯巴达克斯：血与沙第二季01.rmvb
第02集：ftp://dy44:piaohua@dy44.piaohua.com:2750/飘花电影piaohua.com斯巴达克斯：血与沙第二季02.rmvb
第03集：ftp://dy44:piaohua@dy44.piaohua.com:2799/飘花电影piaohua.com斯巴达克斯：血与沙第二季03.rmvb
第04集：ftp://dy44:piaohua@dy44.piaohua.com:2846/飘花电影piaohua.com斯巴达克斯：血与沙第二季04.rmvb
第05集：ftp://dy44:piaohua@dy44.piaohua.com:2890/飘花电影piaohua.com斯巴达克斯：血与沙第二季05.rmvb 
第06集：ftp://dy44:piaohua@dy44.piaohua.com:2949/飘花电影piaohua.com斯巴达克斯：血与沙第二季06.rmvb 
第07集：ftp://dy44:piaohua@dy44.piaohua.com:2992/飘花电影piaohua.com斯巴达克斯：血与沙第二季07.rmvb  
第08集：ftp://dy44:piaohua@dy44.piaohua.com:3033/飘花电影piaohua.com斯巴达克斯：血与沙第二季08.rmvb
随机日志qq昵称特殊符号大全 (0)发现javascript eval不能解析的字符串[不能减负数] (0)怎么用C语言开发网站 (0)高清壁纸下载 (0)SQLDMO类的使用 (0)真正的免费国际顶级域名 (0)SQL Server 2005中的分区表（四）：删除（合并）一个分区 (0)SQL操作全集 (0)怎么将自己的站点提交给搜索引擎呢 (0)C#开发ActiveX控件打包CAB分发 (0)]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/125304HXo.jpg" border="0" alt="" width="405" height="600" /></p>
<p>【简介】：<br />
斯巴达克斯－－重现罗马帝国奴隶英雄的传奇人生。<br />
斯巴达克斯是巴尔干半岛东北部的色雷斯人，罗马侵入北希腊时，他被俘虏，并被卖为角斗士奴隶，送到卡普亚城一所角斗士学校参训。他鼓动同伴们夺取武装，逃到维苏威火山上发动起义。起义队伍由七十余名角斗士很快发展为十余万人，并多次战胜罗马军队。公元前72年，斯巴达克斯率军沿亚得里海岸穿过整个意大利，在摩提那会战中击溃了卡西乌斯总督的军队，然后又挥师南下。罗马元老院宣布国家进入紧急状态，命令克拉苏统率大军前往镇压。当年秋，起义军在布鲁提亚战役中遭受重大损失，被迫于公元前71年春强行突袭意大利南部港口布林底西，渡海前往希腊。罗马军队四面围剿，终于在阿普里亚决战中将起义镇压下去，斯巴达克斯战死，余部在意大利许多地区坚持战斗达十年之久。<br />
如果你看过上世纪六十年代那部独得四项奥斯卡奖的史诗电影《斯巴达克斯》，你就会明白这个故事多么迷人。如今，好莱坞电视业3E电影院的新生力量StarZ在翻拍电影《撞车》（Crash）尝到甜头之后，将自己第二部原创电视剧瞄准了这个独具魅力的古典传说。在此之前，StarZ纯粹是个 &#8220;电影台&#8221;。<br />
电视剧版《斯巴达克斯》根据真实历史故事改编，讲述公元前73年罗马共和国一名奴隶（角斗士）领导的大起义。这次起义历时两年，起义军由几个人壮大到12万人，连当时欧洲战无不胜的神圣罗马军团都曾败下阵来。起义军差点征服整个意大利，后来寡不敌众，直至全军覆没。据称，电视剧版《斯巴达克斯》和电视剧版《罗马帝国》一样注重四大元素：角色、动作戏、性爱和格斗。。<br />
<span style="color: #ff0000;">斯巴达克斯：血与沙第一季【第13集（全）[中英字幕]】</span><br />
第01集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季01[中英字幕].rmvb<br />
第02集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季02[中英字幕].rmvb<br />
第03集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季03[中英字幕].rmvb<br />
第04集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季04[中英字幕].rmvb<br />
第05集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季05[中英字幕].rmvb<br />
第06集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季06[中英字幕].rmvb<br />
第07集：<br />
ftp://3e:3e@m1.3edyy.com:1398/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季07[中英字幕].rmvb<br />
第08集：<br />
ftp://3e:3e@www5.eee4.cc:1415/【3E电影院www.3edyy.com】斯巴达克斯：血与沙第一季08[中英字幕].rmvb<br />
第09集：<br />
ftp://4e:4e@www5.eee4.cc:1430/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季09[中英字幕].rmvb<br />
第10集：<br />
ftp://5e:5e@www5.eee4.cc:1445/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季10[中英字幕].rmvb<br />
第11集：<br />
ftp://4e:4e@m1.3edyy.com:1452/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季11[中英字幕].rmvb<br />
第12集：<br />
ftp://3e:3e@d8.3edyy.com:128/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季12[中英字幕].rmvb<br />
第13集：完<br />
ftp://4e:4e@d8.3edyy.com:132/【3E电影院www.eee4.cc】斯巴达克斯：血与沙第一季13[中英字幕].rmvb<br />
<span style="color: #ff0000;">斯巴达克斯前传：诸神竞技场【HD中英双字第06集(全)/1024高清版06集(全)】<br />
</span>第01集：<br />
ftp://4e:4e@m1.3edyy.com:1581/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场01.rmvb<br />
第02集：<br />
ftp://5e:5e@m1.3edyy.com:1582/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场02.rmvb<br />
第03集：<br />
ftp://6e:6e@m1.3edyy.com:1583/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场03.rmvb<br />
第04集：<br />
ftp://4e:4e@m3.3edyy.com:519/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场04.rmvb<br />
第05集：<br />
ftp://3e:3e@d6.3edyy.com:624/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场05.rmvb<br />
第06集：结局<br />
ftp://7e:7e@d8.3edyy.com:220/【3E看看www.3ekk.com】斯巴达克斯：诸神竞技场06.rmvb<br />
<span style="color: #ff0000;">斯巴达克斯：血与沙第二季</span><br />
第01集：ftp://dy44:piaohua@dy44.piaohua.com:2683/飘花电影piaohua.com斯巴达克斯：血与沙第二季01.rmvb<br />
第02集：ftp://dy44:piaohua@dy44.piaohua.com:2750/飘花电影piaohua.com斯巴达克斯：血与沙第二季02.rmvb<br />
第03集：ftp://dy44:piaohua@dy44.piaohua.com:2799/飘花电影piaohua.com斯巴达克斯：血与沙第二季03.rmvb<br />
第04集：ftp://dy44:piaohua@dy44.piaohua.com:2846/飘花电影piaohua.com斯巴达克斯：血与沙第二季04.rmvb<br />
第05集：<a href="ftp://dy44:piaohua@dy44.piaohua.com:2890/">ftp://dy44:piaohua@dy44.piaohua.com:2890/</a>飘花电影piaohua.com斯巴达克斯：血与沙第二季05.rmvb </p>
<p>第06集：<a href="ftp://dy44:piaohua@dy44.piaohua.com:2949/飘花电影piaohua.com斯巴达克斯：血与沙第二季06.rmvb">ftp://dy44:piaohua@dy44.piaohua.com:2949/飘花电影piaohua.com斯巴达克斯：血与沙第二季06.rmvb</a> </p>
<p>第07集：<a href="ftp://dy44:piaohua@dy44.piaohua.com:2992/飘花电影piaohua.com斯巴达克斯：血与沙第二季07.rmvb">ftp://dy44:piaohua@dy44.piaohua.com:2992/飘花电影piaohua.com斯巴达克斯：血与沙第二季07.rmvb</a>  </p>
<p>第08集：<a href="ftp://dy44:piaohua@dy44.piaohua.com:3033/飘花电影piaohua.com斯巴达克斯：血与沙第二季08.rmvb">ftp://dy44:piaohua@dy44.piaohua.com:3033/飘花电影piaohua.com斯巴达克斯：血与沙第二季08.rmvb</a></p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-08-31-20/%e7%bb%b4%e5%9f%ba%e6%8f%ad%e5%af%86%e9%83%a8%e5%88%86%e6%9c%8d%e5%8a%a1%e5%99%a8%e8%bd%ac%e7%a7%bb%e8%87%b3%e5%9c%b0%e4%b8%8b30%e7%b1%b3%e6%a0%b8%e6%8e%a9%e4%bd%93.html" title="维基揭密部分服务器转移至地下30米核掩体">维基揭密部分服务器转移至地下30米核掩体</a> (0)</li><li><a href="http://blog.xcmd.net/2011-03-16-10/oracle-11g%e7%94%a8exp%e6%9c%89%e4%ba%9b%e8%a1%a8%e6%97%a0%e6%b3%95%e5%af%bc%e5%87%ba.html" title="Oracle 11g用exp有些表无法导出?">Oracle 11g用exp有些表无法导出?</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-04-11/%e6%80%8e%e4%b9%88%e5%9c%a8godaddy-windows%e4%b8%bb%e6%9c%ba%e4%b8%8a%e5%ae%9e%e7%8e%b0wordpress%e7%9a%84%e4%bc%aa%e9%9d%99%e6%80%81.html" title="怎么在GoDaddy Windows主机上实现WordPress的伪静态">怎么在GoDaddy Windows主机上实现WordPress的伪静态</a> (0)</li><li><a href="http://blog.xcmd.net/2010-05-05-23/%e9%9c%8d%e9%87%91%e7%9a%84%e5%ae%87%e5%ae%991.html" title="霍金的宇宙1">霍金的宇宙1</a> (0)</li><li><a href="http://blog.xcmd.net/2010-10-20-09/windows2008%e5%ae%89%e8%a3%85iis7.html" title="windows2008安装iis7">windows2008安装iis7</a> (0)</li><li><a href="http://blog.xcmd.net/2010-09-26-10/%e5%88%a9%e7%94%a8webclient%e5%92%8cwebrequest%e7%b1%bb%e8%8e%b7%e5%be%97%e7%bd%91%e9%a1%b5%e6%ba%90%e4%bb%a3%e7%a0%81.html" title="利用WebClient和WebRequest类获得网页源代码">利用WebClient和WebRequest类获得网页源代码</a> (3)</li><li><a href="http://blog.xcmd.net/2010-08-07-01/php%e9%98%b2%e6%ad%a2sql%e6%b3%a8%e5%85%a5%e5%87%bd%e6%95%b0.html" title="php防止SQL注入函数">php防止SQL注入函数</a> (0)</li><li><a href="http://blog.xcmd.net/2011-11-03-10/asp-net%e4%b8%8eseo-viewstate%e4%bc%98%e5%8c%96%e7%bb%88%e6%9e%81%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html" title="Asp.Net与SEO-Viewstate优化终极解决方案">Asp.Net与SEO-Viewstate优化终极解决方案</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/%e7%87%83%e6%b0%94%e7%81%b6%e8%87%aa%e5%8a%a8%e7%86%84%e7%81%ab%e6%98%af%e4%b8%ba%e4%bb%80%e4%b9%88%e5%91%a2.html" title="燃气灶自动熄火是为什么呢?">燃气灶自动熄火是为什么呢?</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/%e6%89%80%e6%9c%89%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e5%b9%b3%e5%8f%b0%e7%9a%84zend-studio%e9%9b%86%e6%88%90%e5%bc%80%e5%8f%91%e7%8e%af%e5%a2%83%e5%ae%89%e8%a3%85%e7%a8%8b%e5%ba%8f%e4%bb%a5%e5%8f%8a.html" title="所有操作系统平台的zend studio集成开发环境安装程序以及注册机下载">所有操作系统平台的zend studio集成开发环境安装程序以及注册机下载</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-26-20/%e6%96%af%e5%b7%b4%e8%be%be%e5%85%8b%e6%96%af%e5%a4%8d%e4%bb%87%e6%ac%a7%e7%be%8e%e5%89%a7%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网页开发的6种在线调试环境</title>
		<link>http://blog.xcmd.net/2012-02-17-17/%e7%bd%91%e9%a1%b5%e5%bc%80%e5%8f%91%e7%9a%846%e7%a7%8d%e5%9c%a8%e7%ba%bf%e8%b0%83%e8%af%95%e7%8e%af%e5%a2%83.html</link>
		<comments>http://blog.xcmd.net/2012-02-17-17/%e7%bd%91%e9%a1%b5%e5%bc%80%e5%8f%91%e7%9a%846%e7%a7%8d%e5%9c%a8%e7%ba%bf%e8%b0%83%e8%af%95%e7%8e%af%e5%a2%83.html#comments</comments>
		<pubDate>Fri, 17 Feb 2012 09:38:14 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[在线调试css]]></category>
		<category><![CDATA[网页开发]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=439</guid>
		<description><![CDATA[如今的网页代码，一般由三个部分组成：

　　* HTML，语义层，提供网页的内容。
　　* CSS，表现层，规定网页的外观。
　　* Javascript，动作层，定义用户与网页的互动。
理想的开发环境，应该既可以分别调试这三种代码，又可以轻松查看它们合并在一起的整体效果。
浏览器是最合适的效果查看工具，所以很多人想到，代码调试环境也可以直接部署在浏览器中，以网站的形式提供服务。
下面，我根据Design Shack的文章，总结一下目前最常见的6种网页开发在线调试环境。它们大大方便了网页设计师的工作，极大地提供了工作效率。
一、CSSDesk
网址：http://cssdesk.com/ （需翻墙）

这个网站是最早出现的在线调试环境之一，主要用于调试CSS。

左侧两个面板，可以分别输入html和css代码，但不支持Javascript调试。

你可以改变&#8221;预览区&#8221;的背景颜色，可以保存或下载调试完成的代码。
二、Dabblet
网址：http://dabblet.com/

Dabblet也是一个CSS调试环境，不支持Javascript调试。

它将网页效果分成&#8221;CSS效果&#8221;、&#8221;HTML效果&#8221;和&#8221;整体效果&#8221;三个面板，方便单独调试。

它最大的特点有两个，一是动态显示代码效果，代码一输入，效果就自动显示出来；二是显示CSS提示，比如上图的字体效果和长度效果。
三、JS Bin
网址：http://jsbin.com

这是一个较早出现的Javascript在线调试环境。

它分成Javascript、html和&#8221;效果预览&#8221;三个区域，你可以自行勾选显示哪些区域。它没有独立的CSS代码区，CSS代码必须嵌入html代码，这点很不方便。

它支持加载常用的Javascript库。除此以外，其他特色不多。
四、jsFiddle
网址：http://jsfiddle.net/

jsFiddle是目前最受欢迎的在线调试环境。

它的默认界面分成5个区域，左边是参数设置，右边依次是HTML、Javascript、CSS和&#8221;效果预览区&#8221;。

除了加载常见的Javascript库，它还支持SCSS代码和CoffeeScript代码。你甚至可以把它的窗口嵌入自己的网页。
五、Tinkerbin
网址：http://tinkerbin.com/

Tinkerbin很像jsFiddle，也是分成HTML、Javascript、CSS和&#8221;效果预览区&#8221;。

它的特点在于，你可以选择某种代码独占整个编辑区，这样就增大了代码编辑的可视空间。另外，它可以实时显示代码运行结果，这是jsFiddle不支持的。

它支持的代码种类相当多，比如 HAML、SCSS、LESS和CoffeeScript。
六、Rendur
网址：http://rendur.com/

Rendur是一个轻量级在线调试环境，功能不多，但是加载和运行都很快。

用户可以在HTML、CSS、Javascript三个面板中切换，输入相应代码。代码的运行结果，会自动显示在背景网页上。最后一个面板，显示的是整个网页的源码。
（完）
来自:http://www.ruanyifeng.com/blog/2012/02/6_online_playgrounds_for_web_developing.html

随机日志精确计算代码执行时间 (0)利用WebClient和WebRequest类获得网页源代码 (3)大便制作臭豆腐 (0)qq昵称特殊符号大全 (0)Zend Server Studio 安装及设置(视频) (0)JAVASCRIPT事件监听 (0)空间代理商是怎么来分配主机空间的呢？ (0)SQL Server 2005中的分区表（二）：如何添加、查询、修改分区表中的数据 (0)周鸿祎的360PK史 (0)全球最贵域名sex.com拍出1300万美元高价 (0)]]></description>
			<content:encoded><![CDATA[<p>如今的网页代码，一般由三个部分组成：</p>
<div id="more-more">
<blockquote><p>　　* HTML，语义层，提供网页的内容。</p>
<p>　　* CSS，表现层，规定网页的外观。</p>
<p>　　* Javascript，动作层，定义用户与网页的互动。</p></blockquote>
<p>理想的开发环境，应该既可以分别调试这三种代码，又可以轻松查看它们合并在一起的整体效果。</p>
<p>浏览器是最合适的效果查看工具，所以很多人想到，代码调试环境也可以直接部署在浏览器中，以网站的形式提供服务。</p>
<p>下面，我根据<a href="http://designshack.net/articles/css/5-online-playgrounds-for-html-css-and-javascript-compared/" target="_blank">Design Shack</a>的文章，总结一下目前最常见的6种网页开发在线调试环境。它们大大方便了网页设计师的工作，极大地提供了工作效率。</p>
<p><strong>一、CSSDesk</strong></p>
<p>网址：<a href="http://cssdesk.com/" target="_blank">http://cssdesk.com/</a> （需翻墙）</p>
<p><a href="http://cssdesk.com/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093814wjj.jpg" alt="" /></a></p>
<p>这个网站是最早出现的在线调试环境之一，主要用于调试CSS。<span id="more-439"></span></p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093814Izh.jpg" alt="" /></p>
<p>左侧两个面板，可以分别输入html和css代码，但不支持Javascript调试。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093814Xdi.jpg" alt="" /></p>
<p>你可以改变&#8221;预览区&#8221;的背景颜色，可以保存或下载调试完成的代码。</p>
<p><strong>二、Dabblet</strong></p>
<p>网址：<a href="http://dabblet.com/" target="_blank">http://dabblet.com/</a></p>
<p><a href="http://dabblet.com/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093814ZT2.jpg" alt="" /></a></p>
<p>Dabblet也是一个CSS调试环境，不支持Javascript调试。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815dt8.jpg" alt="" /></p>
<p>它将网页效果分成&#8221;CSS效果&#8221;、&#8221;HTML效果&#8221;和&#8221;整体效果&#8221;三个面板，方便单独调试。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815z27.jpg" alt="" /></p>
<p>它最大的特点有两个，一是动态显示代码效果，代码一输入，效果就自动显示出来；二是显示CSS提示，比如上图的字体效果和长度效果。</p>
<p><strong>三、JS Bin</strong></p>
<p>网址：<a href="http://jsbin.com/" target="_blank">http://jsbin.com</a></p>
<p><a href="http://jsbin.com/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815aFa.jpg" alt="" /></a></p>
<p>这是一个较早出现的Javascript在线调试环境。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815KaU.jpg" alt="" /></p>
<p>它分成Javascript、html和&#8221;效果预览&#8221;三个区域，你可以自行勾选显示哪些区域。它没有独立的CSS代码区，CSS代码必须嵌入html代码，这点很不方便。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/0938155EZ.jpg" alt="" /></p>
<p>它支持加载常用的Javascript库。除此以外，其他特色不多。</p>
<p><strong>四、jsFiddle</strong></p>
<p>网址：<a href="http://jsfiddle.net/" target="_blank">http://jsfiddle.net/</a></p>
<p><a href="http://jsfiddle.net/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815Dpj.jpg" alt="" /></a></p>
<p>jsFiddle是目前最受欢迎的在线调试环境。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/0938154cH.jpg" alt="" /></p>
<p>它的默认界面分成5个区域，左边是参数设置，右边依次是HTML、Javascript、CSS和&#8221;效果预览区&#8221;。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815NDy.jpg" alt="" /></p>
<p>除了加载常见的Javascript库，它还支持SCSS代码和CoffeeScript代码。你甚至可以把它的窗口嵌入自己的网页。</p>
<p><strong>五、Tinkerbin</strong></p>
<p>网址：<a href="http://tinkerbin.com/" target="_blank">http://tinkerbin.com/</a></p>
<p><a href="http://tinkerbin.com/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815yMl.jpg" alt="" /></a></p>
<p>Tinkerbin很像jsFiddle，也是分成HTML、Javascript、CSS和&#8221;效果预览区&#8221;。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815txB.jpg" alt="" /></p>
<p>它的特点在于，你可以选择某种代码独占整个编辑区，这样就增大了代码编辑的可视空间。另外，它可以实时显示代码运行结果，这是jsFiddle不支持的。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093815scv.jpg" alt="" /></p>
<p>它支持的代码种类相当多，比如 HAML、SCSS、LESS和CoffeeScript。</p>
<p><strong>六、Rendur</strong></p>
<p>网址：<a href="http://rendur.com/" target="_blank">http://rendur.com/</a></p>
<p><a href="http://rendur.com/" target="_blank"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093816S63.jpg" alt="" /></a></p>
<p>Rendur是一个轻量级在线调试环境，功能不多，但是加载和运行都很快。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/093816F4x.jpg" alt="" /></p>
<p>用户可以在HTML、CSS、Javascript三个面板中切换，输入相应代码。代码的运行结果，会自动显示在背景网页上。最后一个面板，显示的是整个网页的源码。</p>
<p>（完）</p>
<p>来自:http://www.ruanyifeng.com/blog/2012/02/6_online_playgrounds_for_web_developing.html</p>
</div>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2011-08-23-11/asp-net%e5%af%bc%e5%87%baexcel%e4%b8%8b%e8%bd%bd.html" title="ASP.NET导出Excel下载">ASP.NET导出Excel下载</a> (0)</li><li><a href="http://blog.xcmd.net/2010-08-03-12/java%e5%a4%9a%e7%ba%bf%e7%a8%8b%e7%bc%96%e7%a8%8b.html" title="Java多线程编程">Java多线程编程</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/c%e7%9a%84%e5%a4%9a%e7%ba%bf%e7%a8%8b%e4%bd%bf%e7%94%a8%e8%af%a6%e8%a7%a3.html" title="C#的多线程使用详解">C#的多线程使用详解</a> (0)</li><li><a href="http://blog.xcmd.net/2011-06-22-23/%e5%a6%99%e7%94%a8sql-server%e8%81%9a%e5%90%88%e5%87%bd%e6%95%b0%e5%92%8c%e5%ad%90%e6%9f%a5%e8%af%a2%e8%bf%ad%e4%bb%a3%e6%b1%82%e5%92%8c.html" title="妙用SQL Server聚合函数和子查询迭代求和 ">妙用SQL Server聚合函数和子查询迭代求和 </a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-03-13/%e5%9c%a8sql-server%e4%b8%ad%e4%bd%bf%e7%94%a8sql%e5%91%bd%e4%bb%a4%e5%88%a0%e9%99%a4%e6%96%87%e4%bb%b6.html" title="在SQL Server中使用SQL命令删除文件">在SQL Server中使用SQL命令删除文件</a> (1)</li><li><a href="http://blog.xcmd.net/2010-05-04-23/%e7%a7%91%e5%ad%a6%e2%80%9c%e8%b6%85%e4%ba%ba%e2%80%9d-%e5%b0%bc%e5%8f%a4%e6%8b%89%c2%b7%e7%89%b9%e6%96%af%e6%8b%89-%ef%bc%88%e4%b8%8b%ef%bc%89.html" title="科学“超人” 尼古拉·特斯拉 （下）">科学“超人” 尼古拉·特斯拉 （下）</a> (0)</li><li><a href="http://blog.xcmd.net/2011-06-22-22/%e6%89%80%e6%9c%89%e6%b5%8f%e8%a7%88%e5%99%a8%e9%80%9a%e7%94%a8%e7%9a%84js%e4%bb%a3%e7%a0%81%e6%94%b6%e8%97%8f.html" title="所有浏览器通用的js代码收藏">所有浏览器通用的js代码收藏</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-06-12/php5%e4%b8%adcookie%e4%b8%8esession%e8%af%a6%e8%a7%a3.html" title="PHP5中Cookie与Session详解">PHP5中Cookie与Session详解</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-04-13/net%e4%b8%8ejava%e6%af%94%e8%be%83.html" title=".NET与JAVA比较">.NET与JAVA比较</a> (0)</li><li><a href="http://blog.xcmd.net/2010-06-02-17/%e5%89%8d%e4%b8%96%e6%98%af%e8%b0%81%e5%9f%8b%e7%9a%84%e6%88%91%ef%bc%9f.html" title="前世是谁埋的我？ ">前世是谁埋的我？ </a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-17-17/%e7%bd%91%e9%a1%b5%e5%bc%80%e5%8f%91%e7%9a%846%e7%a7%8d%e5%9c%a8%e7%ba%bf%e8%b0%83%e8%af%95%e7%8e%af%e5%a2%83.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>把它看完，你一定会有收获</title>
		<link>http://blog.xcmd.net/2012-02-15-14/%e6%8a%8a%e5%ae%83%e7%9c%8b%e5%ae%8c%ef%bc%8c%e4%bd%a0%e4%b8%80%e5%ae%9a%e4%bc%9a%e6%9c%89%e6%94%b6%e8%8e%b7.html</link>
		<comments>http://blog.xcmd.net/2012-02-15-14/%e6%8a%8a%e5%ae%83%e7%9c%8b%e5%ae%8c%ef%bc%8c%e4%bd%a0%e4%b8%80%e5%ae%9a%e4%bc%9a%e6%9c%89%e6%94%b6%e8%8e%b7.html#comments</comments>
		<pubDate>Wed, 15 Feb 2012 06:35:04 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[生活|工作]]></category>
		<category><![CDATA[收获]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=438</guid>
		<description><![CDATA[第一课
一个男人在他妻子洗完澡后准备进浴室洗澡。这时，门铃响了。
妻子迅速用浴巾裹住自己冲到门口。
当她打开门时，邻居鲍勃站在那儿。
在她开口前，鲍勃说，“你如果把浴巾拿掉，我给你800美元。”
想了一会儿，这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后，鲍勃递给她800美元然后离开了。
女人重新裹好浴巾回到屋里。
当她踏进浴室时，丈夫问她，“是谁呀？”
“是邻居鲍勃。”她回答。
“哦，”丈夫说，“他有没有提到还欠我800美元？”
故事寓意：
及时与同舟共济的股东分享重要信息，将会避免不必要的曝光。
第二课
一个销售员、一个办事员和他们的经理步行去午餐时发现了一盏古代油灯。
他们摩擦油灯，一个精灵跳了出来。
精灵说：“我能满足你们每人一个愿望。”
“我先！我先！”办事员说，“我想去巴哈马群岛，开着快艇，与世隔绝。”
倏！她飞走了。
“该我了！该我了！”销售员说，“我想去夏威夷，躺在沙滩上，有私人女按摩师，免费续杯的冰镇果汁朗姆酒，还有一生中的最爱。”
倏！他飞走了。
“OK, 该你了。”精灵对经理说。
经理回答：“我要那两个蠢货午饭后马上回来工作！”
故事寓意：
永远让你的老板开口先。
第三课
一只鹰坐在高高的树上休息，无所事事。
一只小兔子看见鹰并且问它，“我能象你一样坐着什么都不干吗？”
鹰回答：“行啊，为啥不行。”
于是，兔子坐在鹰下面的地上休息。突然，一只狐狸出现了，它扑到兔子身上把它吃掉了。
故事寓意：
要想坐着无所事事，你必须坐在非常、非常高的位置。
第四课
一只小鸟飞去南方过冬。天实在太冷了。它冻僵了，掉在一片田野上。
它躺在那儿时，一头母牛走过来在它身上拉了一堆屎。
冻僵的小鸟躺在粪堆里，开始感觉到了温暖。
牛粪确实使它暖和过来了。
它躺在温暖的牛粪中，异常高兴，并开始唱起歌来。
一只过路的猫听到鸟叫赶过来看个究竟。
顺着声音，它发现了牛粪下的小鸟，并迅速把它拖出来吃掉了。
故事寓意：
(1) 并不是每个在你身上拉屎的都是你的敌人。
(2) 并不是每个把你拖出粪堆的都是你的朋友。
(3) 当你深陷粪堆中的时候，最好闭上你的鸟嘴
1)学会 沉默
有时候，你被人误解，你不想争辩，所以选择沉默。本来就不是所有的人都得了解你，因此你认为不必对全世界喊话。却也有时候，你被最爱的人误解，你难过到不想争辩，也只有选择沉默。全世界都可以不懂你，但他应该懂，若他竟然不能懂，还有什么话可说?生命中往往有连舒伯特都无言以对的时刻，毕竟不是所有的是非都能条列清楚，甚至可能根本没有真正的是与非。那么，不想说话，就不说吧，在多说无益的时候，也许沉默就是最好的解释。
(2)至少 平静
在你跌入人生谷底的时候，你身旁所有的人都告诉你：要坚强，而且要快乐。坚强是绝对需要的，但是快乐?在这种情形下，恐怕是太为难你了。毕竟，谁能在跌得头破血流的时候还觉得高兴？但是至少可以做到平静。平静地看待这件事，平静地把其他该处理的事处理好。平静，没有快乐，也没有不快乐。
(3)学会弯腰 这会是我意外的收获
和别人发生意见上的纷歧，甚造成言语上的冲突，所以你闷闷不乐，因为你觉得都是别人恶意。别再耿耿于怀了，回家去擦地板吧。拎一块抹布，弯下腰，双膝着地，把你面前这张地板的每个角落来回擦拭干净。然后重新省思自己在那场冲突，所说过的每一句话。现在，你发现自己其实也有不对的地方了，是不是?你渐渐心平气和了，是不是?有时候你必须学习弯腰，因为这个动作可以让你谦卑。劳动身体的同时，你也擦亮了自己的心绪。而且，你还拥有了一张光洁的地板呢。这是你的第二个收获。
(4)不要想 如果 当初
你说，人生是一条有无限多岔口的长路，永远在不停地做选择。如果只是选择吃炒面或炒饭，影响似乎不大，但选择读什么科系、做什么工作、结婚或不结婚、要不要有孩子，每一个选择都影响深远，而不同的选择也必定造就完全不一样的人生。你又说，生命中不可承受之情，就在于人生没有重来的机会啊。如果当初如何如何，现在就不会怎样怎样&#8230;这种充满怅然的喃喃自语，还是别再多说了吧。每一个岔口的选择其实没有真正的好与坏，只要把人生看成是自己。独一无二的创作，就不会频频回首如果当初做了不一样的选择。
(5)努力吧 不管成功与否 至少曾经美丽
漫步林间，你看见一株藤蔓附着树干，柔软与坚实相互交缠，你感动于这静美的一幕。让幸福与归属就此驻足吧。你想。不知未来会有怎样一番风雨摧折？也许藤将断、树会倒，也许天会荒，地将老。你又想。那么，请时光停格在此刻吧。停格即是永恒。永恒里若有这静美的一刻，未来可能遭遇的种种劫难，便已得到了安慰与报偿。
(6)保持单纯
因为思虑过多，所以你常常把你的人生复杂化了。明明是活在现在，你却总是念念不忘着过去，又忧心忡忡着未来；坚持携带着过去、未来与现在同行，你的人生当然只有一片拖泥带水。而单纯是一种恩宠状态。单纯地以皮肤感受天气的变化，单纯地以鼻腔品尝雨后的青草香，单纯地以眼睛统摄远山近景如一幅画。单纯地活在当下。而当下其实无所谓是非真假。既然没有是非，就不必思虑；没有真假，就无须念念不忘又忧心忡忡。无是非真假，不就像在做梦一样了吗?是呀，就单纯地把你的人生当成梦境去执行吧。
(7)偶尔&#8217;俗气&#8217;&#8230;
吃多了健康食品，偶尔你也想啃一啃鸭舌头和盐酥鸡。看多了大师名剧，偶尔你也想瞄一瞄耳光摔不完眼泪掉不完的连续剧。听多了古典音乐，偶尔你也想唱一唱爱他一百年又恨他一万年的流行歌曲。你知道健康食品对健胃整肠有意义，大师名剧对培养气质有意义，古典音乐对提升性灵有意义，可是，偶尔你其实并不想让自己时时刻刻活得那么有意。人生不需要把自己绑得那么紧。偶尔的小小放纵，是道德的。灵气充满或许接近大人，但偶尔的俗气会更平易近人。
(8)控制情绪 别浪费了~
今天的你，是不开心的你，因为有人在言语间刺伤了你。你不喜欢吵架，所以你离开；可是你只是离开了那，却没有离开被那人伤害的情境，因此你愈想愈生气。愈有气，你就愈没有力气去理会别的事情，许多更该用心去做去想去处理的事件，就在你漫天漫地的心烦意乱之中，被轻忽被漠视被省略了。因为，你只是一心一意地在生气。在情绪上做文章，这是对自己的浪费，而且是很坏的浪费。毕竟，生气也是要花力气的，而且生气一定伤元气。所以，聪明如你，别让情绪控制了你，当你又要生气之前，不妨轻声地提醒自己一句：“别浪费了。”
(9)抓住最好的时机 绝不错过
你曾经买了一件很喜欢的衣裳却舍不得穿，郑重地供奉在衣柜里；许久之后，当你再看见它的时候，却发现它已经过时了。所以，你就这样与它错过了。你也曾经买了一块漂亮的蛋糕却舍不得吃，郑重地供奉在冰箱里；许久之后，当你再看见它的时候，却发现它已经过期了。所以，你也这样与它错过了。没有在最喜欢的时候上身的衣裳，没有在最可口的时候品尝的蛋糕，就像没有在最想做的时候去做的事情，都是遗憾。生命也有保存期限，想做的事该趁早去做。如果你只是把你的心愿郑重地供奉在心里，却未曾去实行，那么唯一的结果，就是与它错过，一如那件过时的衣裳，一如那块过期的蛋糕。
(10)偶尔的出离轨道
某次你搭火车打算到A地去，中途却忽然临时起意在B地下了车。也许是别致的地名吸引了你，也许是偶然一瞥的风景触动了你，总之，你就这样改变了本来预定的行程，然后经历了一场充满惊奇的意外旅行。A地是你原先的目标，B地却让你体会了小小的冒险。回忆起来，你说，那是一次令你难忘的出轨经验。生命中的许多时候不也如此？心无旁骛地奔赴唯一的目的，不过是履行了原本的行程而已；离开预设的轨道，你才有机会发现其他的风景。
(11)悄悄 悄悄地 回归平静..
曾经有一段时间，你心情低落，甚至懒得拉开窗帘，看着窗外的阳光。因此你当然也忘了去看看，窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久，总算有一天，你度过了心情的低潮，同时也想起了你的玛格丽特。天啊，可怜的花，她还活着吗？你战战兢兢地拉开窗帘，却见她迎风招摇，花颜可掬。原来在过去的这段日子里，你虽然忘了喂她喝水，老天却没忘了以雨露眷顾她呢。许多事物悄悄地在你的视线之外进行，而且悄悄地安排好了它们自己。天生万物，天养万物，一切其实无须担心&#8230;&#8230;你只要做的就是做好自己，不留任何遗憾&#8230;足矣。
随机日志Godaddy做活动主机$1.99/月起 (0)斯巴达克斯:复仇欧美剧第二季更新到第8集免费下载 (0)RequestDispatcher (0)委托与事件（1） (0)C#获取局域网的sql server服务列表 (0)空间代理商是怎么来分配主机空间的呢？ (0)给Wordpress开启Gzip功能 (0)CSDN600万用户的登录名密码邮箱等资料下载地址 (5)50种方法优化SQL Server数据库查询 (0)简单命令，让我们的文件隐藏于图片内 (0)]]></description>
			<content:encoded><![CDATA[<p>第一课<br />
一个男人在他妻子洗完澡后准备进浴室洗澡。这时，门铃响了。<br />
妻子迅速用浴巾裹住自己冲到门口。<br />
当她打开门时，邻居鲍勃站在那儿。<br />
在她开口前，鲍勃说，“你如果把浴巾拿掉，我给你800美元。”<br />
想了一会儿，这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后，鲍勃递给她800美元然后离开了。<br />
女人重新裹好浴巾回到屋里。<br />
当她踏进浴室时，丈夫问她，“是谁呀？”<br />
“是邻居鲍勃。”她回答。<br />
“哦，”丈夫说，“他有没有提到还欠我800美元？”<br />
故事寓意：<br />
及时与同舟共济的股东分享重要信息，将会避免不必要的曝光。<span id="more-438"></span></p>
<p>第二课<br />
一个销售员、一个办事员和他们的经理步行去午餐时发现了一盏古代油灯。<br />
他们摩擦油灯，一个精灵跳了出来。<br />
精灵说：“我能满足你们每人一个愿望。”<br />
“我先！我先！”办事员说，“我想去巴哈马群岛，开着快艇，与世隔绝。”<br />
倏！她飞走了。<br />
“该我了！该我了！”销售员说，“我想去夏威夷，躺在沙滩上，有私人女按摩师，免费续杯的冰镇果汁朗姆酒，还有一生中的最爱。”<br />
倏！他飞走了。<br />
“OK, 该你了。”精灵对经理说。<br />
经理回答：“我要那两个蠢货午饭后马上回来工作！”<br />
故事寓意：<br />
永远让你的老板开口先。</p>
<p>第三课<br />
一只鹰坐在高高的树上休息，无所事事。<br />
一只小兔子看见鹰并且问它，“我能象你一样坐着什么都不干吗？”<br />
鹰回答：“行啊，为啥不行。”<br />
于是，兔子坐在鹰下面的地上休息。突然，一只狐狸出现了，它扑到兔子身上把它吃掉了。<br />
故事寓意：<br />
要想坐着无所事事，你必须坐在非常、非常高的位置。</p>
<p>第四课<br />
一只小鸟飞去南方过冬。天实在太冷了。它冻僵了，掉在一片田野上。<br />
它躺在那儿时，一头母牛走过来在它身上拉了一堆屎。<br />
冻僵的小鸟躺在粪堆里，开始感觉到了温暖。<br />
牛粪确实使它暖和过来了。<br />
它躺在温暖的牛粪中，异常高兴，并开始唱起歌来。<br />
一只过路的猫听到鸟叫赶过来看个究竟。<br />
顺着声音，它发现了牛粪下的小鸟，并迅速把它拖出来吃掉了。<br />
故事寓意：<br />
(1) 并不是每个在你身上拉屎的都是你的敌人。<br />
(2) 并不是每个把你拖出粪堆的都是你的朋友。<br />
(3) 当你深陷粪堆中的时候，最好闭上你的鸟嘴</p>
<p>1)学会 沉默<br />
有时候，你被人误解，你不想争辩，所以选择沉默。本来就不是所有的人都得了解你，因此你认为不必对全世界喊话。却也有时候，你被最爱的人误解，你难过到不想争辩，也只有选择沉默。全世界都可以不懂你，但他应该懂，若他竟然不能懂，还有什么话可说?生命中往往有连舒伯特都无言以对的时刻，毕竟不是所有的是非都能条列清楚，甚至可能根本没有真正的是与非。那么，不想说话，就不说吧，在多说无益的时候，也许沉默就是最好的解释。</p>
<p>(2)至少 平静</p>
<p>在你跌入人生谷底的时候，你身旁所有的人都告诉你：要坚强，而且要快乐。坚强是绝对需要的，但是快乐?在这种情形下，恐怕是太为难你了。毕竟，谁能在跌得头破血流的时候还觉得高兴？但是至少可以做到平静。平静地看待这件事，平静地把其他该处理的事处理好。平静，没有快乐，也没有不快乐。</p>
<p>(3)学会弯腰 这会是我意外的收获</p>
<p>和别人发生意见上的纷歧，甚造成言语上的冲突，所以你闷闷不乐，因为你觉得都是别人恶意。别再耿耿于怀了，回家去擦地板吧。拎一块抹布，弯下腰，双膝着地，把你面前这张地板的每个角落来回擦拭干净。然后重新省思自己在那场冲突，所说过的每一句话。现在，你发现自己其实也有不对的地方了，是不是?你渐渐心平气和了，是不是?有时候你必须学习弯腰，因为这个动作可以让你谦卑。劳动身体的同时，你也擦亮了自己的心绪。而且，你还拥有了一张光洁的地板呢。这是你的第二个收获。<br />
(4)不要想 如果 当初</p>
<p>你说，人生是一条有无限多岔口的长路，永远在不停地做选择。如果只是选择吃炒面或炒饭，影响似乎不大，但选择读什么科系、做什么工作、结婚或不结婚、要不要有孩子，每一个选择都影响深远，而不同的选择也必定造就完全不一样的人生。你又说，生命中不可承受之情，就在于人生没有重来的机会啊。如果当初如何如何，现在就不会怎样怎样&#8230;这种充满怅然的喃喃自语，还是别再多说了吧。每一个岔口的选择其实没有真正的好与坏，只要把人生看成是自己。独一无二的创作，就不会频频回首如果当初做了不一样的选择。</p>
<p>(5)努力吧 不管成功与否 至少曾经美丽</p>
<p>漫步林间，你看见一株藤蔓附着树干，柔软与坚实相互交缠，你感动于这静美的一幕。让幸福与归属就此驻足吧。你想。不知未来会有怎样一番风雨摧折？也许藤将断、树会倒，也许天会荒，地将老。你又想。那么，请时光停格在此刻吧。停格即是永恒。永恒里若有这静美的一刻，未来可能遭遇的种种劫难，便已得到了安慰与报偿。</p>
<p>(6)保持单纯</p>
<p>因为思虑过多，所以你常常把你的人生复杂化了。明明是活在现在，你却总是念念不忘着过去，又忧心忡忡着未来；坚持携带着过去、未来与现在同行，你的人生当然只有一片拖泥带水。而单纯是一种恩宠状态。单纯地以皮肤感受天气的变化，单纯地以鼻腔品尝雨后的青草香，单纯地以眼睛统摄远山近景如一幅画。单纯地活在当下。而当下其实无所谓是非真假。既然没有是非，就不必思虑；没有真假，就无须念念不忘又忧心忡忡。无是非真假，不就像在做梦一样了吗?是呀，就单纯地把你的人生当成梦境去执行吧。</p>
<p>(7)偶尔&#8217;俗气&#8217;&#8230;</p>
<p>吃多了健康食品，偶尔你也想啃一啃鸭舌头和盐酥鸡。看多了大师名剧，偶尔你也想瞄一瞄耳光摔不完眼泪掉不完的连续剧。听多了古典音乐，偶尔你也想唱一唱爱他一百年又恨他一万年的流行歌曲。你知道健康食品对健胃整肠有意义，大师名剧对培养气质有意义，古典音乐对提升性灵有意义，可是，偶尔你其实并不想让自己时时刻刻活得那么有意。人生不需要把自己绑得那么紧。偶尔的小小放纵，是道德的。灵气充满或许接近大人，但偶尔的俗气会更平易近人。</p>
<p>(8)控制情绪 别浪费了~</p>
<p>今天的你，是不开心的你，因为有人在言语间刺伤了你。你不喜欢吵架，所以你离开；可是你只是离开了那，却没有离开被那人伤害的情境，因此你愈想愈生气。愈有气，你就愈没有力气去理会别的事情，许多更该用心去做去想去处理的事件，就在你漫天漫地的心烦意乱之中，被轻忽被漠视被省略了。因为，你只是一心一意地在生气。在情绪上做文章，这是对自己的浪费，而且是很坏的浪费。毕竟，生气也是要花力气的，而且生气一定伤元气。所以，聪明如你，别让情绪控制了你，当你又要生气之前，不妨轻声地提醒自己一句：“别浪费了。”</p>
<p>(9)抓住最好的时机 绝不错过</p>
<p>你曾经买了一件很喜欢的衣裳却舍不得穿，郑重地供奉在衣柜里；许久之后，当你再看见它的时候，却发现它已经过时了。所以，你就这样与它错过了。你也曾经买了一块漂亮的蛋糕却舍不得吃，郑重地供奉在冰箱里；许久之后，当你再看见它的时候，却发现它已经过期了。所以，你也这样与它错过了。没有在最喜欢的时候上身的衣裳，没有在最可口的时候品尝的蛋糕，就像没有在最想做的时候去做的事情，都是遗憾。生命也有保存期限，想做的事该趁早去做。如果你只是把你的心愿郑重地供奉在心里，却未曾去实行，那么唯一的结果，就是与它错过，一如那件过时的衣裳，一如那块过期的蛋糕。</p>
<p>(10)偶尔的出离轨道</p>
<p>某次你搭火车打算到A地去，中途却忽然临时起意在B地下了车。也许是别致的地名吸引了你，也许是偶然一瞥的风景触动了你，总之，你就这样改变了本来预定的行程，然后经历了一场充满惊奇的意外旅行。A地是你原先的目标，B地却让你体会了小小的冒险。回忆起来，你说，那是一次令你难忘的出轨经验。生命中的许多时候不也如此？心无旁骛地奔赴唯一的目的，不过是履行了原本的行程而已；离开预设的轨道，你才有机会发现其他的风景。</p>
<p>(11)悄悄 悄悄地 回归平静..</p>
<p>曾经有一段时间，你心情低落，甚至懒得拉开窗帘，看着窗外的阳光。因此你当然也忘了去看看，窗台上那一盆每天都需要喝水的玛格丽特。如此不知过了多久，总算有一天，你度过了心情的低潮，同时也想起了你的玛格丽特。天啊，可怜的花，她还活着吗？你战战兢兢地拉开窗帘，却见她迎风招摇，花颜可掬。原来在过去的这段日子里，你虽然忘了喂她喝水，老天却没忘了以雨露眷顾她呢。许多事物悄悄地在你的视线之外进行，而且悄悄地安排好了它们自己。天生万物，天养万物，一切其实无须担心&#8230;&#8230;你只要做的就是做好自己，不留任何遗憾&#8230;足矣。</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-03-21-01/wordpress%e6%9c%ac%e6%9c%88%e7%83%ad%e9%97%a8%e6%96%87%e7%ab%a0%e6%97%a0%e6%8f%92%e4%bb%b6.html" title="Wordpress本月热门文章(无插件) ">Wordpress本月热门文章(无插件) </a> (4)</li><li><a href="http://blog.xcmd.net/2010-04-02-11/godaddy%e4%b8%bb%e6%9c%balinux500%e9%94%99%e8%af%af.html" title="godaddy主机Linux500错误解决方法">godaddy主机Linux500错误解决方法</a> (6)</li><li><a href="http://blog.xcmd.net/2011-04-15-11/sql2005%e5%88%86%e5%8c%ba%e8%a1%a8%e7%9b%b8%e5%85%b3sql.html" title="SQL2005分区表相关sql">SQL2005分区表相关sql</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/flex%e5%b5%8c%e5%85%a5html%e5%92%8cjsp.html" title="Flex嵌入Html和Jsp">Flex嵌入Html和Jsp</a> (0)</li><li><a href="http://blog.xcmd.net/2011-06-22-23/mssql%e8%a1%8c%e5%8f%98%e5%88%97%e5%88%97%e5%8f%98%e8%a1%8c%e4%bd%bf%e7%94%a8-pivot-%e5%92%8c-unpivot.html" title="mssql行变列,列变行,使用 PIVOT 和 UNPIVOT">mssql行变列,列变行,使用 PIVOT 和 UNPIVOT</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/cassandra%e5%ae%89%e8%a3%85.html" title="cassandra安装">cassandra安装</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/%e4%bb%80%e4%b9%88%e6%98%afdnsa%e8%ae%b0%e5%bd%95%e5%ad%90%e5%9f%9f%e5%90%8dcname%e5%88%ab%e5%90%8dmx%e8%ae%b0%e5%bd%95txt%e8%ae%b0%e5%bd%95srv-%e8%ae%b0%e5%bd%95ttl%e5%80%bc.html" title="什么是DNS,A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,TTL值">什么是DNS,A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,TTL值</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-04-12/%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a2%9e%e9%87%8f%e6%81%a2%e5%a4%8d.html" title="数据库(增量恢复)">数据库(增量恢复)</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/webrequest%e7%b1%bb%e5%92%8cwebresponse%e7%b1%bb.html" title="WebRequest类和WebResponse类">WebRequest类和WebResponse类</a> (0)</li><li><a href="http://blog.xcmd.net/2010-11-04-13/net%e4%b8%8ejava%e6%af%94%e8%be%83.html" title=".NET与JAVA比较">.NET与JAVA比较</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-15-14/%e6%8a%8a%e5%ae%83%e7%9c%8b%e5%ae%8c%ef%bc%8c%e4%bd%a0%e4%b8%80%e5%ae%9a%e4%bc%9a%e6%9c%89%e6%94%b6%e8%8e%b7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程</title>
		<link>http://blog.xcmd.net/2012-02-08-09/vc2005%e4%bb%8e%e5%bc%80%e5%8f%91mfc-activex-ocx%e6%8e%a7%e4%bb%b6%e5%88%b0%e5%8f%91%e5%b8%83%e5%88%b0-net%e7%bd%91%e7%ab%99%e7%9a%84%e5%85%a8%e9%83%a8%e8%bf%87%e7%a8%8b.html</link>
		<comments>http://blog.xcmd.net/2012-02-08-09/vc2005%e4%bb%8e%e5%bc%80%e5%8f%91mfc-activex-ocx%e6%8e%a7%e4%bb%b6%e5%88%b0%e5%8f%91%e5%b8%83%e5%88%b0-net%e7%bd%91%e7%ab%99%e7%9a%84%e5%85%a8%e9%83%a8%e8%bf%87%e7%a8%8b.html#comments</comments>
		<pubDate>Wed, 08 Feb 2012 01:40:04 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[C#/ASP.NET]]></category>
		<category><![CDATA[C|C++]]></category>
		<category><![CDATA[MFC ActiveX ocx控件]]></category>
		<category><![CDATA[VC2005]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=405</guid>
		<description><![CDATA[开篇语：最近在弄ocx控件发布到asp.net网站上使用，就是用户在使用过程中，自动下载安装ocx控件。（此文章也是总结了网上好多人写的文章，我只是汇总一下，加上部分自己的东西，在这里感谢所有在网上发表相关内容的朋友们。）
ActiveX控件用于Web的过程是将控件嵌入主页中，用户通过浏览器访问该主页时，将主页中的控件下载，并在用户机器上注册，以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上，下次再访问相同的主页时，可不再下载该控件，而是直接运行用户本地的控件。这里控件容器就是浏览器，用户不需要通过浏览器调用控件的属性或方法。因此，开发面向Web的ActiveX控件比开发桌面的控件还要简单些，所复杂的是如何将该控件很好地嵌入主页，使用户能正常浏览。下面介绍这个问题。
一． 创建MFC ActiveX项目
1. 打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。

2. 输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮，打开向导对话框。

WoSign 免费提供的时间戳服务URL： http://timestamp.wosign.com/timestamp 
时间戳服务非常重要，添加时间戳后，即使您的代码签名证书已经过期，但由于您的代码是在证书有效期内签名的，则时间戳服务保证了此代码仍然可信，最终用户仍然可以放心下载，使得即使代码签名证书已经过期，您也无需重签和重新发布已经签名的代码。
3. 选择“控件设置”选项卡，具体设置可参考上图。其它选项卡为默认设置。最后点击“完成”按钮保存设置。
二． 添加控件方法
VC2005会为我们自动创建好MFC ActiveX程序框架，我们只要给该ActiveX控件添加方法即可。现在我们给控件添加一个“AddFun”方法，这个方法是将两个数相加并返回结果。
1. 点击“视图”，打开“类视图”窗口。

2. 展开“ActiveXDemoLib”项，选中“_DActiveXDemo”项。点击鼠标右键，选择“添加”下的“添加方法”。

3. 打开添加方法向导窗口。因为我们是添加一个加法方法，所以我们设置的返回类型为LONG型，方法名设为AddFun，添加两个LONG类型参数Add1，Add2。

4. 其它为默认设置，点击“完成”按钮完成添加方法。接下来我们打开“解决方案资源管理器”打开“ActiveXDemoCtrl.cpp”文件。

5. 打开代码视图，我们会发现VC2005已经为我们添加了一个“AddFun”方法，我们在方法内添加“return Add1 + Add2;”语句。

 
三、MFC Activex 安全问题：
　1、在默认环境下，编译的MFC Activex控件，只能在本地代码中运行，即在http://localhost/xxx/xxx.htm中执行，而在http://127.0.0.1/xxx/xxx.htm中提示无相关属性,需要设置其初始化和脚本运行的安全性
　　ActiveX在远程IE页面上执行，需要实现安全接口。
　　在ATL写的ActiveX中，用IObjectSafety。
　　http://support.microsoft.com/kb/168371/en-us
　　在MFC写的ActiveX中，直接修改注册表。
　　http://support.microsoft.com/kb/161873/en-us
　　mfc实现的ocx，要在app实现文件中包括两个文件：
在ActivexDemo.cpp 文件中实现以下方法
代码
#include "stdafx.h"
#include "ActivexDemo.h"
#include &#60;comcat.h&#62;
#include &#60;objsafe.h&#62;
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

CActivexDemoApp theApp;

const GUID CDECL BASED_CODE _tlid =
{ 0x344B8576, 0xAB2C, 0x4D38, { 0xAE, 0x7, 0x73, 0x74, 0x22, 0x89, 0x72, 0xEA } };
const WORD _wVerMajor = 1;
const WORD [...]]]></description>
			<content:encoded><![CDATA[<p>开篇语：最近在弄ocx控件发布到asp.net网站上使用，就是用户在使用过程中，自动下载安装ocx控件。（此文章也是总结了网上好多人写的文章，我只是汇总一下，加上部分自己的东西，在这里感谢所有在网上发表相关内容的朋友们。）</p>
<p>ActiveX控件用于Web的过程是将控件嵌入主页中，用户通过浏览器访问该主页时，将主页中的控件下载，并在用户机器上注册，以后就可在用户的浏览器上运行。控件下载一次后就驻留在用户本地机器上，下次再访问相同的主页时，可不再下载该控件，而是直接运行用户本地的控件。这里控件容器就是浏览器，用户不需要通过浏览器调用控件的属性或方法。因此，开发面向Web的ActiveX控件比开发桌面的控件还要简单些，所复杂的是如何将该控件很好地嵌入主页，使用户能正常浏览。下面介绍这个问题。<span id="more-405"></span></p>
<h3>一． 创建MFC ActiveX项目</h3>
<p>1. 打开VS2005新建MFC项目。这里我们取名为“ActiveXDemo”。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014011l0M.jpg" border="0" alt="" width="593" height="394" /></p>
<p>2. 输入项目名称为“ActiveXDemo”和项目位置。点击“确定”按钮，打开向导对话框。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014018EoU.jpg" border="0" alt="" width="553" height="405" /></p>
<p>WoSign 免费提供的时间戳服务URL： <strong>http://timestamp.wosign.com/timestamp </strong></p>
<p>时间戳服务非常重要，添加时间戳后，即使您的代码签名证书已经过期，但由于您的代码是在证书有效期内签名的，则时间戳服务保证了此代码仍然可信，最终用户仍然可以放心下载，使得即使代码签名证书已经过期，您也无需重签和重新发布已经签名的代码。</p>
<p>3. 选择“控件设置”选项卡，具体设置可参考上图。其它选项卡为默认设置。最后点击“完成”按钮保存设置。</p>
<h3>二． 添加控件方法</h3>
<p>VC2005会为我们自动创建好MFC ActiveX程序框架，我们只要给该ActiveX控件添加方法即可。现在我们给控件添加一个“AddFun”方法，这个方法是将两个数相加并返回结果。</p>
<p>1. 点击“视图”，打开“类视图”窗口。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014023Xek.jpg" border="0" alt="" width="355" height="330" /></p>
<p>2. 展开“ActiveXDemoLib”项，选中“_DActiveXDemo”项。点击鼠标右键，选择“添加”下的“添加方法”。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014029kOA.jpg" border="0" alt="" width="313" height="321" /></p>
<p>3. 打开添加方法向导窗口。因为我们是添加一个加法方法，所以我们设置的返回类型为LONG型，方法名设为AddFun，添加两个LONG类型参数Add1，Add2。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014034TQB.jpg" border="0" alt="" width="553" height="405" /></p>
<p>4. 其它为默认设置，点击“完成”按钮完成添加方法。接下来我们打开“解决方案资源管理器”打开“ActiveXDemoCtrl.cpp”文件。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014038c63.jpg" border="0" alt="" width="357" height="380" /></p>
<p>5. 打开代码视图，我们会发现VC2005已经为我们添加了一个“AddFun”方法，我们在方法内添加“return Add1 + Add2;”语句。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014041tmf.jpg" border="0" alt="" width="554" height="364" /></p>
<p><strong> </strong></p>
<h3>三、MFC Activex 安全问题：</h3>
<p>　1、在默认环境下，编译的MFC Activex控件，只能在本地代码中运行，即在http://localhost/xxx/xxx.htm中执行，而在http://127.0.0.1/xxx/xxx.htm中提示无相关属性,需要设置其初始化和脚本运行的安全性</p>
<p>　　ActiveX在远程IE页面上执行，需要实现安全接口。</p>
<p>　　在ATL写的ActiveX中，用IObjectSafety。</p>
<p>　　http://support.microsoft.com/kb/168371/en-us</p>
<p>　　在MFC写的ActiveX中，直接修改注册表。</p>
<p>　　http://support.microsoft.com/kb/161873/en-us</p>
<p>　　mfc实现的ocx，要在app实现文件中包括两个文件：</p>
<p>在ActivexDemo.cpp 文件中实现以下方法</p>
<p>代码</p>
<pre>#include "stdafx.h"
#include "ActivexDemo.h"
#include &lt;comcat.h&gt;
#include &lt;objsafe.h&gt;
#ifdef _DEBUG
#define new DEBUG_NEW
#endif</pre>
<div>
<pre>CActivexDemoApp theApp;</pre>
</div>
<pre>const GUID CDECL BASED_CODE _tlid =
{ 0x344B8576, 0xAB2C, 0x4D38, { 0xAE, 0x7, 0x73, 0x74, 0x22, 0x89, 0x72, 0xEA } };
const WORD _wVerMajor = 1;
const WORD _wVerMinor = 0;</pre>
<pre>// CActivexDemoApp::InitInstance - DLL 初始化</pre>
<pre>BOOL CActivexDemoApp::InitInstance()
{
BOOL bInit = COleControlModule::InitInstance();</pre>
<pre>if (bInit)
{
// TODO: 在此添加您自己的模块初始化代码。
}</pre>
<pre>return bInit;
}</pre>
<pre>// CActivexDemoApp::ExitInstance - DLL 终止</pre>
<pre>int CActivexDemoApp::ExitInstance()
{
// TODO: 在此添加您自己的模块终止代码。</pre>
<pre>return COleControlModule::ExitInstance();
}</pre>
<pre>// 创建组件种类
HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription)
{
ICatRegister* pcr = NULL ;
HRESULT hr = S_OK ;
hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&amp;pcr);
if (FAILED(hr)) return hr;
// Make sure the HKCRComponent Categories{..catid...}
// key is registered.
CATEGORYINFO catinfo;
catinfo.catid = catid;
catinfo.lcid = 0x0409 ; // english
// Make sure the provided description is not too long.
// Only copy the first 127 characters if it is.
int len = wcslen(catDescription);
if (len&gt;127) len = 127;
wcsncpy(catinfo.szDescription, catDescription, len);
// Make sure the description is null terminated.
catinfo.szDescription[len] = '';
hr = pcr-&gt;RegisterCategories(1, &amp;catinfo);
pcr-&gt;Release();
return hr;
}</pre>
<pre>// 注册组件种类
HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
 {
    // Register your component categories information.
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&amp;pcr);
    if (SUCCEEDED(hr)) {
      // Register this category as being "implemented" by the class.
      CATID rgcatid[1];
      rgcatid[0] = catid;
      hr = pcr-&gt;RegisterClassImplCategories(clsid, 1, rgcatid);
    }
    if (pcr != NULL) pcr-&gt;Release();
    return hr;
}
// 卸载组件种类
HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
 {
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr,
            NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&amp;pcr);
    if (SUCCEEDED(hr)) {
      // Unregister this category as being "implemented" by the class.
      CATID rgcatid[1] ;
      rgcatid[0] = catid;
      hr = pcr-&gt;UnRegisterClassImplCategories(clsid, 1, rgcatid);
    }
    if (pcr != NULL) pcr-&gt;Release();
    return hr;
}
STDAPI DllRegisterServer(void)
{
    HRESULT hr;
    AFX_MANAGE_STATE(_afxModuleAddrThis);
    if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
        return ResultFromScode(SELFREG_E_TYPELIB);
    if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
        return ResultFromScode(SELFREG_E_CLASS);
    // 标记控件初始化安全.
    // 创建初始化安全组件种类
    hr = CreateComponentCategory(CATID_SafeForInitializing, L"Controls safely initializable from persistent data!");
    if (FAILED(hr)) return hr;
    // 注册初始化安全
    hr = RegisterCLSIDInCategory(BASED_CODE _tlid , CATID_SafeForInitializing);
    if (FAILED(hr)) return hr;
    // 标记控件脚本安全
    // 创建脚本安全组件种类
    hr = CreateComponentCategory(CATID_SafeForScripting, L"Controls safely scriptable!");
    if (FAILED(hr)) return hr;
    // 注册脚本安全组件种类
    hr = RegisterCLSIDInCategory(BASED_CODE _tlid , CATID_SafeForScripting);
    if (FAILED(hr)) return hr;
    return NOERROR;
}
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
    HRESULT hr;
    AFX_MANAGE_STATE(_afxModuleAddrThis);
    if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))
        return ResultFromScode(SELFREG_E_TYPELIB);
    if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
        return ResultFromScode(SELFREG_E_CLASS);
    // 删除控件初始化安全入口.
    hr=UnRegisterCLSIDInCategory(BASED_CODE _tlid , CATID_SafeForInitializing);
    if (FAILED(hr)) return hr;
    // 删除控件脚本安全入口
    hr=UnRegisterCLSIDInCategory(BASED_CODE _tlid , CATID_SafeForScripting);
    if (FAILED(hr)) return hr;
    return NOERROR;
}</pre>
<p>现在控件就可以在自注册时就注册为安全控件了。</p>
<p>2、设置项目属性 将配置类型设置成静态库(.lib)</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014107XzW.jpg" border="0" alt="" width="683" height="448" /></p>
<p>3、 最后生成项目，ocx控件就产生了。</p>
<h3>ActiveX打包与发布</h3>
<p>在VS2005或VS2008安装后发现路径**VC7Common7ToolsBin下有许多小工具，我对带有Cert的文件比较感兴趣。经过研究，发现是有关证书和签名的，当然，该证书未被证书认证机构认可。下面列出这些工具和我的使用心得。<br />
1。Makecert.exe &#8212;证书创建工具<br />
2。Cert2Spc.exe &#8212;发行者证书测试工具<br />
3。Signcode.exe &#8212;文件签名工具（VS2008带的是signtool）<br />
一、ActiveX发布步骤</p>
<p>在这里简单说明下，打包activeX需要制作证书，具体用到makecert 、cert2spc 、signtool 这三个VS提供的工具，工具在VS文件夹里面，以下制作过程需要在工具所在的文件夹下完成！<br />
1、单击&#8221;开始&#8221;&#8211;&gt;&#8221;运行（R）&#8221;&#8211;&gt;输入&#8221;cmd&#8221;&#8211;&gt;回车&#8211;&gt;进入到操作的控件所在的目录（需要将上面所说的工具，和ocx控件放到一个文件夹下）；<br />
2、创建PVK文件(私人密匙文件)，在命令行中输入&#8221;makecert -sk demo demo.pvk -n CN=XXXXXXX公司&#8221;，然后回车；</p>
<p>sk-表示主题的密钥容器位置，ss-主题的证书存储名称， n-证书颁发对象，r-证书存储位置；</p>
<p>3、创建CER文件(公司证书)，在命令行中输入&#8221;makecert -sk demo.pvk demo.cer&#8221;，然后回车，如图8所示，若出现&#8221;Successed&#8221;提示，则会在E: demo目录下生成demo.cer文件；</p>
<p>sk-表示主题的密钥容器位置，is-颁发者的证书存储名称， n-证书颁发对象，ic-颁发者的证书存储位置，-$-授权范围（用于代码签名）；</p>
<p>4、创建SPC测试软件出版商证明书，在命令行中输入&#8221;cert2spc demo.cer demo.spc&#8221;，然后回车；</p>
<p>5、创建INF文件，用记录本编辑以下信息：</p>
<pre>代码</pre>
<div>
<pre><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->[version]</pre>
</div>
<pre>signature="$CHICAGO$"</pre>
<pre>AdvancedINF=2.0</pre>
<pre>[Add.Code]</pre>
<pre>ActivexDemo.ocx=ActivexDemo.ocx</pre>
<pre>[ActivexDemo.ocx]</pre>
<p>file-win32-x86=thiscab<br />
//告诉ie到哪里去得到这个dll，file一共包括三个部分，第一部分是file，这个永远都是这样的（至少目前来说）；第二部分告诉声明支持的OS，win32表示windows，mac就是苹果MAC OX了；第三部分是CPU类型，比如说x86、 ppc (Power PC)、 mips或者alpha了<br />
//其中“thiscab”是一个关键字，表示 CAB 包含此 DLL，也可通过指定一条绝对或相对路径，从一个 HTTP 位置下载所需的 DLL，<br />
例如: file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL<br />
RegisterServer=yes</p>
<p>clsid={468E4531-F890-47EC-8368-3BDA4448FF08}<br />
//“clsid”是将要安装的控件的 CLSID<br />
DestDir=11<br />
//它的值是dll将要存到本地硬盘的位置，如果它的值是10，则将dll放到Windows或者WinNT下；如果是11，则放到WindowsSystem或者WinNTSystem32下；如果未指定任何 DestDir（典型情况），则代码安装在固定的 OCCACHE 目录中。<br />
FileVersion=1,0,0,1<br />
//说明了atl90.dll的版本号</p>
<p>6、创建CAB文件，在命令行中输入&#8221;cabarc -s 6144 n demo.cab atl90.dll Polygon.dll demo.inf&#8221;，-s 选项表示在压缩文件中保留用于代码签名的空间，n命令指定希望创建 CAB 文件，然后回车；</p>
<p>7、使用Code Signing Wizard签署一个CAB文件，在控制台输入signtool signwizard 进入到signtool窗体中;</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014110JA4.jpg" border="0" alt="" width="503" height="387" /></p>
<p>8、单击&#8221;下一步（N）&#8221;按钮，选择要进行数字签名的且已做成CAB包的文件Dome.cab文件；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014118p1U.jpg" border="0" alt="" width="503" height="387" /></p>
<p>9、选择好CAB包后单击&#8221;下一步（N）&#8221;按钮，在选择想要的签名类型里选择&#8221;自定议（C）&#8221;并单击&#8221;下一步（N）&#8221;按钮；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014121beW.jpg" border="0" alt="" width="503" height="387" /></p>
<p>10、接下来单击&#8221;从文件选择（F）&#8221;按钮，选择刚刚制作的demo.cer；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014125pss.jpg" border="0" alt="" width="503" height="387" /></p>
<p>11、在单击&#8221;下一步（N）&#8221;，然后选择&#8221;CSP中的私钥（K）&#8221;；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014131qL5.jpg" border="0" alt="" width="503" height="387" /></p>
<p>12、在单击“下一步（<span style="text-decoration: underline;">N</span>）”按钮，然后在散列算法中选择“shal”，并单击“下一步（<span style="text-decoration: underline;">N</span>）”按钮。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014138BrH.jpg" border="0" alt="" width="502" height="387" /></p>
<p>13、在&#8221;证书路径中的证书&#8221;中选择&#8221;证书路径中的所有证书，包括根证书（C）&#8221;，在&#8221;其它证书（可选）&#8221;中选择&#8221;包括在以下PKCS #7 证书（.p7b）文件中的证书（P）：&#8221;，并单击&#8221;浏览（R）&#8230;&#8221;按钮选择demo.spc文件，选择完后单击&#8221;下一步（N）&#8221;按钮；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014146o7K.jpg" border="0" alt="" width="503" height="387" /></p>
<p>14、接下来在弹出的&#8221;数据描述&#8221;窗口中输入公司的名称和网址并单击&#8221;下一步（N）&#8221;按钮；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014149H93.jpg" border="0" alt="" width="503" height="387" /></p>
<p>15、现大部份工作都已完成，在接下来的一步当中是可选的操作，其作用只是为CAB加入时间戳，此步骤完全可以不做，VeriSign: http://timestamp.verisign.com/scripts/timstamp.dll；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014153WqO.jpg" border="0" alt="" width="503" height="387" /></p>
<p>16、完成，单击&#8221;下一步（N）&#8221;按钮便可来到数字签名向导的最后一步，即操作总览，如图26所示，单击&#8221;完成&#8221;按钮便可大功告成；</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014158apk.jpg" border="0" alt="" width="503" height="387" /></p>
<h3>下面是微软代码签名证书(.pvk/.spc)签名指南的演示</h3>
<p>本使用指南演示如何使用WoSign代码签名证书来给微软代码签名,Thawte和VeriSign代码签名证书也是使用同样方法,只是使用不同的时间戳URL。</p>
<p>用户在在线申请代码签名证书时会生成证书私钥文件，如：myCert.pvk，而代码签名证书成功颁发后的证书文件为公钥文件，如：myCert.spc，又称：软件发行证书(Software Publishing Certificate) 。 代码签名证书一般都是采用公钥和私钥分离的两个文件方式，适合于 DOS 命令行方式的代码签名。如果您您希望把代码签名证书导入到Windows证书存储区中，从而简化签名操作，请参考：<a href="http://www.wosign.com/support/PVK_SPC2PFX.htm">不同证书格式转换指南</a>。</p>
<p>WoSign代码签名证书的根证书链为： <a href="http://www.wosign.com/Root/UTN_Object.cer">UTN-USERFirst-Object </a>- <a href="http://www.wosign.com/Root/WoSign_CodeSigning.crt">WoSign Code Signing Authority </a></p>
<p>使用微软的 <strong>SignCode.exe</strong> 就可以对微软的代码进行签名，如果您没有此文件，点击 <a href="http://www.wosign.com/download/signtool.rar">这里 </a>下载。 Signcode.exe 可以使用 DOS 命令行方式实现签名，我们推荐用户使用数字签名向导方式，简单方便。请注意：如果您开发的ActiveX为IE加载项，请先数字签名每个CAB文件中的.dll和.ocx等文件，再把这些文件打包成.cab文件后再数字签名.cab文件，以确保所有IE加载项都被IE验证和信任，否则会显示“未验证”而可能影响正常运行。</p>
<p>具体签名向导过程如下：</p>
<p>(1) 运行 Signcode.exe ， 要求您选择需要签名的文件，支持：可执行文件 (*.exe; *.dll; *.ocx) ； Cabinet 打包文件 (*.cab) 和目录文件 (*.cat) ，如下图 1 所示 ( 如： TestSign.cab) ，请注意：如果签名的文件已经有数字签名，则会被新的签名覆盖：</p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014201C4T.gif" border="0" alt="" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(2) 点击“下一步”后，如下图 2 所示，会要求您选择“签名类型”，缺省的“典型”签名类型；请选择“自定义” 签名类型：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/01420495v.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(3) 如下图 3 所示，点击“从文件选择”签名证书 ( 公钥文件 )，如： WotoneCS.spc ：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014206ZTb.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(4) 点击“下一步”后，如下图 4 所示，会要求您选择私钥文件，如： WotoneCS.pvk ，其他参数不用动：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014208zpS.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(5) 点击“下一步”后，如下图 5 所示，会提示要求输入私钥密码：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014211GBM.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(6) 点击“下一步”后，如下图 6 所示，会提示要求选择散列算法 ( 摘要算法、缩微图算法 ) ，缺省为 sha1 ，也可以选 md5 ：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014213OQg.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(7) 点击“下一步”后，如下图 7 所示，选择哪些证书包括到数字签名中，直接点击“下一步”即可，即选择缺省的包括根证书：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014215U04.gif" border="0" alt="" width="503" height="358" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(8) 如下图 8 所示，要求填写该签名代码的功能描述，推荐一定要认真填写，因为此信息将会在最终用户下载此代码时显示，有助于最终用户了解此代码的功能以确定是否下载安装。第一行“描述”是指此代码的功能文字描述，第二行“ Web 位置”则让最终用户点击文字描述来详细了解此代码的功能和使用方法等，本演示中的“ Web 位置”为WoTrust代码签名证书简介页面：</span></p>
<p><span style="color: #0000ff; font-size: x-small;"><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014218okt.gif" border="0" alt="" width="503" height="380" /></span></p>
<p><span style="color: #0000ff; font-size: x-small;">(9) 点击“下一步”后，如下图 9 所示，选中“将时间戳添加到数据中”，请使用:</span></p>
<p><span style="color: #0000ff; font-size: x-small;"> </span></p>
<p>WoSign 免费提供的时间戳服务URL： <strong>http://timestamp.wosign.com/timestamp </strong></p>
<p>时间戳服务非常重要，添加时间戳后，即使您的代码签名证书已经过期，但由于您的代码是在证书有效期内签名的，则时间戳服务保证了此代码仍然可信，最终用户仍然可以放心下载，使得即使代码签名证书已经过期，您也无需重签和重新发布已经签名的代码。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014222UOK.gif" border="0" alt="" width="502" height="380" /></p>
<p>(10) 点击“下一步”后，如下图 10 所示，会提示已经完成数字签名向导，点击“完成”后还会提示您输入私钥密码，就完成代码签名证书的代码签名。</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/0142271Sc.gif" border="0" alt="" width="503" height="358" /></p>
<p>(11) 现在，需要使用 chktrust.exe 来查验已经签名的代码， chktrust.exe 文件已经打包在</p>
<div><a href="http://www.wosign.com/download/signtool.rar">signtool.rar </a>中。进入 DOS 命令提示符，并进入已经签名的文件所在目录 ( 如： d:signTestCA.cab) ，键入命令： chktrust testcs.cab ，则会显示实际应用时在 IE 浏览器下载页面的情况，如下图 11 所示，对于Win XP操作系统，会显示软件名称和发行者名称，其中软件名称就是您在第(8)步输入的描述，点击此名称就链接到您在第(8)步填写的网址，而点击发行者名称，则会显示您的签名信息和时间戳信息。对于Win2000操作系统，则稍有不同，第 1 行的红线部分就是时间戳记录的签名时的本地时间，请注意：此时间不是取签名电脑的时间，而是提供时间戳服务的服务器计算出来的签名电脑设置的所在时区的本地时间。第 1 行蓝色文字就是在第 8 步中输入的描述文字，点击此蓝色文字就可以访问在第 8 步中输入的 Web 描述页面。第 2 行蓝色文字则为该代码的发行者，也就是代码签名证书的申请者(拥有者)( 如：深圳市沃通电子商务服务有限公司) ，点击可以查看证书的详细信息；第 2 行有红色下划线部分显示“发行商可靠性由 WoSign Code Signing Authority 验证 ”就是此代码签名证书的证书颁发者。</div>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/0142354q1.gif" border="0" alt="" width="464" height="513" /></p>
<p>12) 点击“是”或“运行”，则会提示“ TestSign.cab: Succeeded ”表示代码 TestSign.cab 签名验证有效，可以放到网站上了。请注意：签名后的CAB文件放到网站上需要使用 object 方式。</p>
<p><strong>请注意</strong>：不能仅签名CAB文件，CAB包中所有DLL文件都要先签名后再打包，再签名CAB文件，否则IE浏览器会显示为“未验证的发行者”而影响正常使用，甚至杀毒软件会认为是毒而被删除！如下图所示的实际案例：</p>
<p><img src="http://blog.xcmd.net/wp-content/uploads/auto_save_image/2012/02/014247jiN.gif" border="0" alt="" /></p>
<h3>在Web页中加入ActiveX 控件</h3>
<p>在修改了IE的安全设置后，依然不能调用控件的方法，需要将访问的站点设置为“受信站点”，则方能正常使用控件<br />
在&lt;html&gt; 和&lt;head&gt;之间插入<br />
&lt;!&#8211; saved from url=(0017)http://localhost/ &#8211;&gt;<br />
则在IE窗口上方不会弹出黄色提示条 。</p>
<p><span style="color: #0000ff; font-size: x-small;">　　在HTML页面中使用ActiveX控件包含三个基本操作：将控件放入HTML中；将该控件下载给用户；在用户机器上安装该控件。如果只是针对IE用户，在HTML中插入ActiveX控件就比较简单；如果同时兼顾IE和Netscape用户，则要做更多工作。大家知道，HTML文件由文本和各种标志(tags)组成，ActiveX 控件对于IE在HTML中的标志是＜OBJECT＞，该标记有几个重要的参数特性，它们是： </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　1.ID：为控件提供一个标识名称，为HTML代码提供一种访问该控件的方式。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　2.CLASSID：是该控件唯一的UUID，告诉IE装入哪个对象。如果使用已经开发好的控件，它的CLASSID可以通过调用Win95或NT下的应用Regedit来查找。从开始菜单中运行该程序，展开HKEY_CLASSES_ROOT项，可以看到按字母顺序排列的注册表，找到需要使用的控件名，例如WClnt，展开时可看到一个CLSID文件夹，里面就是该控件的CLASSID。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　如果是自己用VC开发控件，该UUID可以在ActiveX控件项目中的ODL（对象描述库）文件中找到；通过查看控件的类信息注释来定位特定控件的UUID，例如，要找到CMyControl控件的UUID，则需要找到以下代码： </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　// Class information for CMyControl </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　[uuid (051C4748－1262－11D2－87C1－00A024D948FB), </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　licensed, </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　helpstring(“CmyControl Control”), control ] </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　uuid后面括号中的内容就是该控件的UUID。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　3.CODEBASE：如果在用户机器上没有控件的当前版本，该参数告诉用户浏览器在哪里可找到要下载的控件和最新版本号.当控件作了修改后，可以更改版本号强制用户重新下载。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　4.PARAM：该标记用于设置控件的初始属性值，它有两个特性：Name和Value，即属性名称和属性值。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　此外还有一些标记，如：Width表示该控件所占的宽度，Height表示高度等，总体来说，这样一个插入控件的HTML代码和插入Java Applet的HTML代码非常相似。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　下面是一个嵌有ActiveX控件的HTML代码示例： </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　</span></p>
<p><span style="color: #0000ff; font-size: x-small;">ID=“CMyControl” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">CLASSID=“clsid:051C4748－1262－11D2－87C1－00A024D948FB ” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">CODEBASE=“http://www.mysite.com.cn/ocxdir/mycontrol.ocx＃version=1,0,0,1” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">WIDTH=400 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">HEIGHT=200 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">ALIGN=center </span></p>
<p><span style="color: #0000ff; font-size: x-small;">HSPACE=0 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">VSPACE=0 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">＞ </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　如果希望控件还能在Netscape中运行，除了Netscape需加装插件外，HTML也要加一些附加标记，下面的例子中EMBED段就是为Netscape加上的。如果使用MFC开发OCX控件，则少数用户第一次访问时除了下载OCX文件外，还要下载相应的MFC DLL，下载量变大，这时可将相关文件在服务器端打包成可以在客户端自解压安装的CAB文件。经过修改后的HTML代码段如下： </span></p>
<p><span style="color: #0000ff; font-size: x-small;">＜ALIGN=“CENTER” CLASSID=“clsid: </span></p>
<p><span style="color: #0000ff; font-size: x-small;">7BCA18C6－2178－11D2－87C1－00A024D948FB” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">WIDTH=“1200” HEIGHT=“900” ID=“marquee” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">CODEBASE=“http://218.168.188.188/scadaweb/ </span></p>
<p><span style="color: #0000ff; font-size: x-small;">WClnt.cab＃version=1,0,0,1”＞ </span></p>
<p><span style="color: #0000ff; font-size: x-small;">＜EMBED ALIGN=“CENTER”CLASSID=“clsid:7BCA18C6－ 2178－11D2－87C1－00A024D948FB” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">WIDTH=“1200” HEIGHT=“900” ID=“marqueequot;” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">CODEBASE=“http://218.168.188.188/scadaweb/ </span></p>
<p><span style="color: #0000ff; font-size: x-small;">WClnt.OCX＃version=1,0,0,1” </span></p>
<p><span style="color: #0000ff; font-size: x-small;">TYPE=“application/oleobject” ＞ </span></p>
<h4><span style="color: #0000ff; font-size: x-small;">实时动态页面的实现方案 </span></h4>
<p><span style="color: #0000ff; font-size: x-small;">　　对实时动态页面的要求多产生于一些要求自动更新实时数据的应用中，如电网监控、股市监测等。具体要求是：用户只需选取希望浏览的图表，但无需介入操作，该图表就能根据实时数据不断更新，用户总能观察到最新情况。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　要实现上述功能，结构上有两种方案：一种是设置一个中介服务器，该服务器作为控件和后台系统信息交流的中介；另一种是不设中介服务器，但在提供实时数据的后台服务器上留出供控件通信用的数据接口，控件可以直接从后台服务器上定时获得当前实时数据。按数据提供方式分也有两种：一种是由客户端定时向服务器发出请求，指明需要的实时数据，服务器收到请求后将满足请求的动态数据发送至相应客户；另一种是客户端只请求一次，服务器端便定时将满足请求的实时数据传到客户端，直到客户更换要显示的图表或停止刷新。上述各方案都有其优点和局限，在应用中可考虑实际情况采用相应方案。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　工作流程为：用户先从Web服务器上下载包含ActiveX 控件的网页，控件随即在客户机上注册运行，并通过Winsock同中介服务器或直接同提供实时信息的网，如股票信息网相连接，定时取得动态实时数据，并刷新显示。在这个体系中，客户有两条线路获得信息，一条是和Web Server的连接，从这条线上用户访问主页；另一条就是控件和后台信息网的连接，从这条线路上用户可以访问实时数据。后一条线路用Winsock建立，传输速度远大于前一条线路，且控制灵活、效率高，不和主页下载争资源。通过这条线路，用户甚至可以传送远程控制信息实现遥控操作。 </span></p>
<h4><span style="color: #0000ff; font-size: x-small;">利用MFC开发ActiveX控件 </span></h4>
<p><span style="color: #0000ff; font-size: x-small;">　　利用VC5.0开发的这种控件，功能可扩展性强，理论上独立的VC5.0程序具有的功能，该控件都能实现，例如控件直接绘制浏览器，可以使用OpenGL等图库，图形图像功能强大。实时数据刷新频率理论上可达毫秒级，用户通过鼠标可以实现各类交互操作，如旋转、缩放，图2就是一幅GL图形，并有一个缩放工具条进行缩放操作。如果是在计算机上观看，可以看到这几个三维图在不断旋转。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　应该说，较好的开发工具可直接用API编程或使用ATL模板库，利用MFC开发ActiveX控件不是一个好的选择，因为控件运行需要MFC DLL的支持。假如客户机器上没有这些类库（这种情况很少，但确实存在），第一次下载就要花费些工夫。不过对于熟悉MFC的开发员来说，这些问题相对MFC提供的便利来说都是可以忽略的。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　由于VC5.0对ActiveX控件的开发提供了许多便利，所以开发一个ActiveX控件并不像许多人想象中的那么困难复杂，通过VC 5.0的AppWizard，实现控件的主类从ColeControl类派生出来，该类则是CWnd的一个子类，所以你可以像对窗口类编程一样对这个主类编程。为了实现上面提及的功能，首先必要重载它的OnDraw函数加入需要绘制的对象，加入Winsock类（CSocket或CAsyncSocket），以实现与后端数据服务器的通信。如果需要用OpenGL绘制丰富多彩的立体图，则要初始化GL环境。其他的工作就在于用户如何控制程序的调度，使得各功能都能正常工作且与其他部分正常通信。此外，后端服务器程序也要增加对应于该控件的接口。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　这样的一个程序编译通过后，就成为一个可用于Web的控件，后缀名是OCX。按照前面叙述的方法将该OCX置入主页，基本的工作就算完成。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　综上所述，利用VC5.0开发ActiveX控件用于Web浏览，主要有以下几个特点： </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　1．采用Winsock的通信机制，速度快、控制灵活、效率高； </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　2．控件采用VC5.0编制，功能可扩展性很强； </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　4．控件第一次下载虽然稍费时间，但下载后即在用户机上注册，以后可直接调用，速度效率均好； </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　5．ActiveX技术是微软发展的重中之重，且已成为当前软件发展的潮流所向，发展空间广阔； </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　6．系统采用VC开发，可以利用已有的采用C语言编制的系统，开发工作量大大减少。 </span></p>
<p><span style="color: #0000ff; font-size: x-small;">　　Web页面的开发主要分为三类：静态Web页面、半动态Web页面以及Client端动态页面。本文重点论述基于ActiveX Control(控件)动态实时页面的开发。 </span></p>
<p>regsvr32 netshare.ocx 注册netshare.ocx控件</p>
<p>regsvr32 /u netshare.ocx 解除netshare.ocx控件的注册</p>
<p>来自:http://www.cnblogs.com/gengaixue/archive/2010/08/13/1799112.html</p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-03-22-13/%e8%bd%ac%e8%b0%b7%e6%ad%8c%e6%9c%80%e6%97%a9%e4%bb%8a%e6%97%a5%e5%ae%a3%e5%b8%83%e9%80%80%e5%87%ba%e4%b8%ad%e5%9b%bd.html" title="转:谷歌最早今日宣布退出中国">转:谷歌最早今日宣布退出中国</a> (0)</li><li><a href="http://blog.xcmd.net/2011-01-08-11/flex%e5%9c%a8%e7%ba%bf%e6%89%8b%e6%9c%ba%e5%a3%81%e7%ba%b8%e5%88%b6%e4%bd%9c%e5%9c%a8%e7%ba%bf%e6%97%a5%e5%8e%86%e6%a1%8c%e9%9d%a2%e5%a3%81%e7%ba%b8%e5%88%b6%e4%bd%9c.html" title="Flex在线手机壁纸制作,在线日历桌面壁纸制作">Flex在线手机壁纸制作,在线日历桌面壁纸制作</a> (0)</li><li><a href="http://blog.xcmd.net/2010-06-02-17/%e5%89%8d%e4%b8%96%e6%98%af%e8%b0%81%e5%9f%8b%e7%9a%84%e6%88%91%ef%bc%9f.html" title="前世是谁埋的我？ ">前世是谁埋的我？ </a> (0)</li><li><a href="http://blog.xcmd.net/2011-03-21-10/sql%e8%af%ad%e5%8f%a5%e5%8e%bb%e6%8e%89%e9%87%8d%e5%a4%8d%e5%80%bc%e8%bf%94%e5%9b%9e%e5%a4%9a%e5%88%97.html" title="SQL语句:去掉重复值返回多列">SQL语句:去掉重复值返回多列</a> (0)</li><li><a href="http://blog.xcmd.net/2011-10-12-17/mysql-%e4%bf%ae%e6%94%b9root%e5%af%86%e7%a0%81.html" title="MYsql 修改root密码">MYsql 修改root密码</a> (0)</li><li><a href="http://blog.xcmd.net/2011-06-22-22/%e6%89%80%e6%9c%89%e6%b5%8f%e8%a7%88%e5%99%a8%e9%80%9a%e7%94%a8%e7%9a%84js%e4%bb%a3%e7%a0%81%e6%94%b6%e8%97%8f.html" title="所有浏览器通用的js代码收藏">所有浏览器通用的js代码收藏</a> (0)</li><li><a href="http://blog.xcmd.net/2011-03-16-10/oracle-11g%e7%94%a8exp%e6%9c%89%e4%ba%9b%e8%a1%a8%e6%97%a0%e6%b3%95%e5%af%bc%e5%87%ba.html" title="Oracle 11g用exp有些表无法导出?">Oracle 11g用exp有些表无法导出?</a> (0)</li><li><a href="http://blog.xcmd.net/2011-11-03-10/asp-net%e4%b8%8eseo-viewstate%e4%bc%98%e5%8c%96%e7%bb%88%e6%9e%81%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88.html" title="Asp.Net与SEO-Viewstate优化终极解决方案">Asp.Net与SEO-Viewstate优化终极解决方案</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-27-12/html%e7%9a%84rel%e5%b1%9e%e6%80%a7.html" title="HTML的rel属性">HTML的rel属性</a> (0)</li><li><a href="http://blog.xcmd.net/2011-10-06-00/%e5%be%b7%e5%9b%bd%e4%ba%ba%e6%98%af%e6%80%8e%e4%b9%88%e4%bf%ae%e9%93%81%e8%b7%af%e7%9a%84.html" title="德国人是怎么修铁路的?">德国人是怎么修铁路的?</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-08-09/vc2005%e4%bb%8e%e5%bc%80%e5%8f%91mfc-activex-ocx%e6%8e%a7%e4%bb%b6%e5%88%b0%e5%8f%91%e5%b8%83%e5%88%b0-net%e7%bd%91%e7%ab%99%e7%9a%84%e5%85%a8%e9%83%a8%e8%bf%87%e7%a8%8b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>从客户端中检测到有潜在危险的 Request.Form 值的最优解决方案</title>
		<link>http://blog.xcmd.net/2012-02-07-18/%e4%bb%8e%e5%ae%a2%e6%88%b7%e7%ab%af%e4%b8%ad%e6%a3%80%e6%b5%8b%e5%88%b0%e6%9c%89%e6%bd%9c%e5%9c%a8%e5%8d%b1%e9%99%a9%e7%9a%84-request-form-%e5%80%bc%e7%9a%84%e6%9c%80%e4%bc%98%e8%a7%a3%e5%86%b3.html</link>
		<comments>http://blog.xcmd.net/2012-02-07-18/%e4%bb%8e%e5%ae%a2%e6%88%b7%e7%ab%af%e4%b8%ad%e6%a3%80%e6%b5%8b%e5%88%b0%e6%9c%89%e6%bd%9c%e5%9c%a8%e5%8d%b1%e9%99%a9%e7%9a%84-request-form-%e5%80%bc%e7%9a%84%e6%9c%80%e4%bc%98%e8%a7%a3%e5%86%b3.html#comments</comments>
		<pubDate>Tue, 07 Feb 2012 10:03:58 +0000</pubDate>
		<dc:creator>冰点</dc:creator>
				<category><![CDATA[C#/ASP.NET]]></category>
		<category><![CDATA[潜在危险的Request.Form值]]></category>

		<guid isPermaLink="false">http://blog.xcmd.net/?p=404</guid>
		<description><![CDATA[ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候，ASP.Net的引擎会引发一 个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面： 
以下是引用片段：
Server Error in &#8216;/YourApplicationPath&#8217; Application
A potentially dangerous Request.Form value was detected from the client
(txtName=&#8221;&#60;b&#62;&#8221;).
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力。当用户试图用之类的输入影响页面返回结果的时候，ASP.Net的引擎会引发一 个 HttpRequestValidationExceptioin。默认情况下会返回如下文字的页面： </span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
Server Error in &#8216;/YourApplicationPath&#8217; Application</span></p>
<p><span style="font-size: small;">A potentially dangerous Request.Form value was detected from the client<br />
(txtName=&#8221;&lt;b&gt;&#8221;).<span id="more-404"></span></span></p>
<p><span style="font-size: small;">Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.</span></p>
<p><span style="font-size: small;">Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (txtName=&#8221;&lt;b&gt;&#8221;).</span></p>
<p><span style="font-size: small;">&#8230;.</span></p>
<p><span style="font-size: small;">　　这是ASP.Net提供的一个很重要的安全特性。因为很多程序员对安全没有概念，甚至都不知道XSS这种攻击的存在，知道主动去防护的就更少了。ASP.Net在这一点上做到默认安全。这样让对安全不是很了解的程序员依旧可以写出有一定安全防护能力的网站。</span></p>
<p><span style="font-size: small;">　　但是，当我Google搜索 HttpRequestValidationException 或者 &#8220;A potentially dangerous Request.Form value was detected from the client&#8221;的时候，惊奇的发现大部分人给出的解决方案竟然是在ASP.Net页面描述中通过设置 validateRequest=false 来禁用这个特性，而不去关心那个程序员的网站是否真的不需要这个特性。看得我这叫一个胆战心惊。安全意识应该时时刻刻在每一个程序员的心里，不管你对安全 的概念了解多少，一个主动的意识在脑子里，你的站点就会安全很多。</span></p>
<p><span style="font-size: small;">　　为什么很多程序员想要禁止 validateRequest 呢?有一部分是真的需要用户输入&#8221;&lt;&gt;&#8221;之类的字符。这就不必说了。还有一部分其实并不是用户允许输入那些容易引起XSS的字符，而是讨厌这 种报错的形式，毕竟一大段英文加上一个ASP.Net典型异常错误信息，显得这个站点出错了，而不是用户输入了非法的字符，可是自己又不知道怎么不让它报 错，自己来处理报错。</span></p>
<p><span style="font-size: small;">　　对于希望很好的处理这个错误信息，而不使用默认ASP.Net异常报错信息的程序员们，你们不要禁用validateRequest=false。</span></p>
<p><span style="font-size: small;">　　正确的做法是在你当前页面添加Page_Error()函数，来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信 息。如果当前页面没有Page_Error()，这个异常将会送到Global.asax的Application_Error()来处理，你也可以在那 里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数，才会显示这个默认的报错页面呢。</span></p>
<p><span style="font-size: small;">　　举例而言，处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码：</span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
protected void Page_Error(object sender, EventArgs e)<br />
{<br />
Exception ex = Server.GetLastError();<br />
if (ex is HttpRequestValidationException)<br />
{<br />
Response.Write(&#8220;请您输入合法字符串。&#8221;);<br />
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。<br />
}<br />
}</span></p>
<p><span style="font-size: small;">　　这样这个程序就可以截获 HttpRequestValidationException 异常，而且可以按照程序员的意愿返回一个合理的报错信息。</span></p>
<p><span style="font-size: small;">　　这段代码很简单，所以我希望所有不是真的要允许用户输入之类字符的朋友，千万不要随意的禁止这个安全特性，如果只是需要异常处理，那么请用类似于上面的代码来处理即可。</span></p>
<p><span style="font-size: small;">　　而对于那些通过 明确禁止了这个特性的程序员，自己一定要明白自己在做什么，而且一定要自己手动的检查必须过滤的字符串，否则你的站点很容易引发跨站脚本攻击。</span></p>
<p><span style="font-size: small;">　　关于存在Rich Text Editor的页面应该如何处理?</span></p>
<p><span style="font-size: small;">　　如果页面有富文本编辑器的控件的，那么必然会导致有类的HTML标签提交回来。在这种情况下，我们不得不将validateRequest=&#8221;false&#8221;。那么安全性怎么处理?如何在这种情况下最大限度的预防跨站脚本攻击呢?</span></p>
<p><span style="font-size: small;">　　根据微软的建议，我们应该采取安全上称为“默认禁止，显式允许”的策略。</span></p>
<p><span style="font-size: small;">　　首先，我们将输入字符串用 HttpUtility.HtmlEncode()来编码，将其中的HTML标签彻底禁止。</span></p>
<p><span style="font-size: small;">　　然后，我们再对我们所感兴趣的、并且是安全标签，通过Replace()进行替换。比如，我们希望有&#8221;"标签，那么我们就将&#8221;"显式的替换回&#8221;"。</span></p>
<p><span style="font-size: small;">　　示例代码如下：</span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
void submitBtn_Click(object sender, EventArgs e)<br />
&#8230;{<br />
// 将输入字符串编码，这样所有的HTML标签都失效了。<br />
StringBuilder sb = new StringBuilder(<br />
HttpUtility.HtmlEncode(htmlInputTxt.Text));<br />
// 然后我们选择性的允许&lt;b&gt; 和 &lt;i&gt;<br />
sb.Replace(&#8220;&amp;lt;b&amp;gt;&#8221;, &#8220;&lt;b&gt;&#8221;);<br />
sb.Replace(&#8220;&amp;lt;/b&amp;gt;&#8221;, &#8220;&#8221;);<br />
sb.Replace(&#8220;&amp;lt;i&amp;gt;&#8221;, &#8220;&lt;i&gt;&#8221;);<br />
sb.Replace(&#8220;&amp;lt;/i&amp;gt;&#8221;, &#8220;&#8221;);<br />
Response.Write(sb.ToString());<br />
}</span></p>
<p><span style="font-size: small;">　　这样我们即允许了部分HTML标签，又禁止了危险的标签。</span></p>
<p><span style="font-size: small;">　　根据微软提供的建议，我们要慎重允许下列HTML标签，因为这些HTML标签都是有可能导致跨站脚本攻击的。</span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
# &lt;applet&gt;<br />
# &lt;body&gt;<br />
# &lt;embed&gt;<br />
# &lt;frame&gt;<br />
# &lt;script&gt;<br />
# &lt;frameset&gt;<br />
# &lt;html&gt;<br />
# &lt;iframe&gt;<br />
# &lt;img&gt;<br />
# &lt;style&gt;<br />
# &lt;layer&gt;<br />
# &lt;link&gt;<br />
# &lt;ilayer&gt;<br />
# &lt;meta&gt;<br />
# &lt;object&gt;</span></p>
<p><span style="font-size: small;">　　可能这里最让人不能理解的是&lt;img&gt;。但是，看过下列代码后，就应该明白其危险性了。</span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
&lt;img src=&#8221;javascript:alert(&#8216;hello&#8217;);&#8221;&gt;<br />
&lt;img src=&#8221;java&amp;#010;script:alert(&#8216;hello&#8217;);&#8221;&gt;<br />
&lt;img src=&#8221;java&amp;#X0A;script:alert(&#8216;hello&#8217;);&#8221;&gt;</span></p>
<p><span style="font-size: small;">　　通过&lt;img&gt;标签是有可能导致javascript执行的，这样攻击者就可以做他想伪装的任何事情。</span></p>
<p><span style="font-size: small;">　　关于&lt;style&gt;也是一样：</span></p>
<p><span style="font-size: small;">以下是引用片段：<br />
<span style="color: #ff0000; font-size: x-small;">&lt;style TYPE=&#8221;text/javascript&#8221;&gt;&#8230;<br />
alert(&#8216;hello&#8217;);<br />
&lt;/style&gt;</span></span></p>
<p><span style="color: #ff0000; font-size: x-small;">从客户端中检测到有潜在危险的 Request.Form 值<br />
由于在.net中，Request时出现有HTML或Javascript等字符串时，系统会认为是危险性值。立马报错上面的错误。<br />
解决办法：<br />
解决方案一：<br />
在.aspx文件头中加入这句：<br />
&lt;%@ Page validateRequest=&#8221;false&#8221;   %&gt;<br />
解决方案二：<br />
修改web.config文件:<br />
&lt;configuration&gt;<br />
&lt;system.web&gt;<br />
&lt;pages validateRequest=&#8221;false&#8221; /&gt;<br />
&lt;/system.web&gt;<br />
&lt;/configuration&gt;<br />
因为validateRequest默认值为true。只要设为false即可。<br />
当然，这样只能是让界面好看一些，要想抵制注入，还得从过滤上做足功夫<br />
然后，还是有不禁用validateRequest的方法的，如下<br />
不禁用validateRequest=false。<br />
正确的做法是在你当前页面添加Page_Error()函数，来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error()，这个异常将会送到Global.asax的Application_Error()来处理，你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数，才会显示这个默认的报错页面呢。<br />
举例而言，处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码： <br />
以下是引用片段：<br />
protected void Page_Error(object sender, EventArgs e)<br />
{<br />
Exception ex = Server.GetLastError();<br />
if (ex is HttpRequestValidationException)<br />
{<br />
Response.Write(&#8220;请您输入合法字符串。&#8221;);<br />
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。<br />
}<br />
} </span></p>
<h3  class="related_post_title">随机日志</h3><ul class="related_post"><li><a href="http://blog.xcmd.net/2010-11-23-09/%e6%af%94%e5%b0%94%e7%9b%96%e8%8c%a8%e8%91%97%e5%90%8d%e7%9a%84%e5%8d%81%e6%9d%a1%e8%a8%80%e8%ae%ba.html" title="比尔盖茨著名的十条言论">比尔盖茨著名的十条言论</a> (1)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/php%e4%b8%ad_server%e7%9a%84%e8%af%a6%e7%bb%86%e6%96%b9%e6%b3%95.html" title="PHP中$_SERVER的详细方法">PHP中$_SERVER的详细方法</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-20-11/wordpress-%e5%9f%ba%e6%9c%ac%e7%9a%84%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0.html" title="Wordpress 基本的常用函数">Wordpress 基本的常用函数</a> (3)</li><li><a href="http://blog.xcmd.net/2010-03-30-21/%e5%bf%ab%e9%80%9f%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bd%bf%e7%94%a8svn%e6%9c%8d%e5%8a%a1%e5%99%a8.html" title="快速配置与使用SVN服务器">快速配置与使用SVN服务器</a> (0)</li><li><a href="http://blog.xcmd.net/2011-08-11-18/net%e6%89%a7%e8%a1%8c%e5%8a%a8%e6%80%81js-c%e4%bb%a3%e7%a0%81.html" title=".net动态执行javascript,C#代码">.net动态执行javascript,C#代码</a> (0)</li><li><a href="http://blog.xcmd.net/2011-04-15-11/sql2005%e5%88%86%e5%8c%ba%e8%a1%a8%e7%9b%b8%e5%85%b3sql.html" title="SQL2005分区表相关sql">SQL2005分区表相关sql</a> (0)</li><li><a href="http://blog.xcmd.net/2010-04-28-16/%e6%9c%aa%e6%9d%a5%e7%9a%84%e5%88%9b%e6%96%b0%e8%a6%81%e9%9d%a080%e5%90%8e%e3%80%8190%e5%90%8e.html" title="未来的创新要靠80后、90后">未来的创新要靠80后、90后</a> (0)</li><li><a href="http://blog.xcmd.net/2010-03-25-21/webrequest%e7%b1%bb%e5%92%8cwebresponse%e7%b1%bb.html" title="WebRequest类和WebResponse类">WebRequest类和WebResponse类</a> (0)</li><li><a href="http://blog.xcmd.net/2011-08-23-11/sql%e4%b8%8d%e9%87%8d%e5%a4%8d%e8%ae%b0%e5%bd%95%e7%9a%84%e6%80%bb%e7%bb%93.html" title="关于SQL不重复记录的总结">关于SQL不重复记录的总结</a> (0)</li><li><a href="http://blog.xcmd.net/2011-10-14-11/php%e8%8e%b7%e5%8f%96mysql%e8%87%aa%e5%a2%9e%e5%90%8e%e7%9a%84id.html" title="PHP获取mysql自增后的ID">PHP获取mysql自增后的ID</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.xcmd.net/2012-02-07-18/%e4%bb%8e%e5%ae%a2%e6%88%b7%e7%ab%af%e4%b8%ad%e6%a3%80%e6%b5%8b%e5%88%b0%e6%9c%89%e6%bd%9c%e5%9c%a8%e5%8d%b1%e9%99%a9%e7%9a%84-request-form-%e5%80%bc%e7%9a%84%e6%9c%80%e4%bc%98%e8%a7%a3%e5%86%b3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

