﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-ASP.NET AJAX (Atlas)学习</title><link>http://atlas.cnblogs.com</link><description>研究，学习ASP.NET AJAX (Atlas)技术的应用，实现</description><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 15:13:59 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 15:13:59 GMT</pubDate><ttl>60</ttl><item><title>正则表达式口诀及教程</title><link>http://www.cnblogs.com/fengzi520/archive/2010/02/09/1666763.html</link><dc:creator>枫子52011</dc:creator><author>枫子52011</author><pubDate>Tue, 09 Feb 2010 10:44:00 GMT</pubDate><guid>http://www.cnblogs.com/fengzi520/archive/2010/02/09/1666763.html</guid><description><![CDATA[<p>阅读: 15 评论: 0 作者: <a href="" target="_blank">枫子52011</a> 发表于 2010-02-09 18:44 <a href="http://www.cnblogs.com/fengzi520/archive/2010/02/09/1666763.html" target="_blank">原文链接</a></p>正则其实也势利，削尖头来把钱揣； （指开始符号^和结尾符号$）<br />特殊符号认不了，弄个倒杠来引路； （指\. \*等特殊符号）<br />倒杠后面跟小w， 数字字母来表示； （\w跟数字字母;\d跟数字）<br />倒杠后面跟小d， 只有数字来表示；<br />倒杠后面跟小a， 报警符号嘀一声；<br />倒杠后面跟小b， 单词分界或退格；<br />倒杠后面跟小t， 制表符号很明了；<br />倒杠后面跟小r， 回车符号知道了；<br />倒杠后面跟小s， 空格符号很重要；<br />小写跟罢跟大写，多得实在不得了；<br />倒杠后面跟大W， 字母数字靠边站；<br />倒杠后面跟大S， 空白也就靠边站；<br />倒杠后面跟大D， 数字从此靠边站；<br />倒框后面跟大B， 不含开头和结尾；<br />单个<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D7%D6%B7%FB">字符</span>要重复，三个符号来帮忙； （* + ？）<br />0 星加1 到无穷，问号只管0 和1； （*表0-n;+表1-n;?表0-1次重复）<br />花括号里学问多，重复操作能力强； （{n} {n,} {n,m}）<br />若要重复字符串，园括把它括起来； （（abc）{3} 表示字符串&#8220;abc&#8221;重复3次 ）<br />特殊集合自定义，中括号来帮你忙；<br />转义符号行不通，一个一个来排队；<br />实在多得排不下，横杠请来帮个忙； （[1-5]）<br />尖头放进中括号，反义定义威力大； （[^a]指除&#8220;a&#8221;外的任意字符 ）<br />1竖作用可不小，两边正则互替换； （键盘上与&#8220;\&#8221;是同一个键）<br />1竖能用很多次，复杂定义很方便；<br />园括号，用途多；<br />反向引用指定组，数字排符对应它； （&#8220;\b(\w+)\b\s+\1\b&#8221;中的数字&#8220;1&#8221;引用前面的&#8220;(\w+)&#8221;）<br />支持组名自定义，问号加上尖括号； （&#8220;(?&lt;Word&gt;\w+)&#8221;中把&#8220;\w+&#8221;定义为组，组名为&#8220;Word&#8221;）<br />园括号，用途多，位置指定全靠它；<br />问号等号字符串，定位字符串前面； （&#8220;\b\w+(?=ing\b)&#8221;定位&#8220;ing&#8221;前面的字符串）<br />若要定位串后面，中间插个小于号； （&#8220;(?&lt;=\bsub)\w+\b&#8221;定位&#8220;sub&#8221;后面的字符串）<br />问号加个惊叹号，后面跟串字符串；<br />PHPer都知道， ！是取反的意思；<br />后面不跟这一串，统统符合来报到； （&#8220;\w*d(?!og)\w*&#8221;，&#8220;dog&#8221;不符合，&#8220;do&#8221;符合）<br />问号小于惊叹号，后面跟串字符串；<br />前面不放这一串，统统符合来报到；<br />点号星号很贪婪，加个问号不贪婪；<br />加号问号有保底，至少重复一次多；<br />两个问号老规矩，0次1次团团转；<br />花括号后跟个？，贪婪变成不贪婪；<br />还有很多装不下，等着以后来增加<img src="aggbug/1666763.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/fengzi520/archive/2010/02/09/1666763.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/fengzi520/archive/2010/02/09/1666763.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>ASP.NET AJAX Advance Tips &amp;amp; Tricks (10) 三种方法动态创建Tooltip</title><link>http://www.cnblogs.com/blodfox777/archive/2010/02/09/1666246.html</link><dc:creator>LanceZhang</dc:creator><author>LanceZhang</author><pubDate>Tue, 09 Feb 2010 02:21:00 GMT</pubDate><guid>http://www.cnblogs.com/blodfox777/archive/2010/02/09/1666246.html</guid><description><![CDATA[<p>阅读: 821 评论: 8 作者: <a href="" target="_blank">LanceZhang</a> 发表于 2010-02-09 10:21 <a href="http://www.cnblogs.com/blodfox777/archive/2010/02/09/1666246.html" target="_blank">原文链接</a></p><h2><span style="font-size: 18pt; ">前言&nbsp;</span></h2><p>如何动态创建提示框（Tooltip）是ASP.NET Forum里的常见问题之一，在做技术支持时，我曾在英文博客上总结过ASP.NET和ASP.NET AJAX环境下如何动态创建提示框的三种常见方法，比较基础，收到了蛮多老外们的commend，如今英文博客被墙，特转到这里来与大家分享。</p><p>&nbsp;</p><p>原文地址：</p><p><span class="Apple-style-span" style="font-family: tahoma, verdana, sans-serif; line-height: 18px; font-size: 12px; color: #333333; "><a href="http://lancezhang.wordpress.com/2008/12/04/create-tooltip-dynamically/" style="text-decoration: none; font-weight: bold; color: #226699; " target="_blank">http://lancezhang.wordpress.com/2008/12/04/create-tooltip-dynamically/</a></span></p><p><span class="Apple-style-span" style="font-family: tahoma, verdana, sans-serif; line-height: 18px; font-size: 12px; color: #333333; "><a href="http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-pagemethod/" style="text-decoration: none; font-weight: bold; color: #226699; " target="_blank">http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-pagemethod/</a></span></p><p><font class="Apple-style-span" color="#666666" face="'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif" size="3"><span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"><span class="Apple-style-span" style="color: #333333; font-family: tahoma, verdana, sans-serif; "><a href="http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-and-webservice/" target="_blank" style="text-decoration: none; font-weight: bold; color: #226699; ">http://lancezhang.wordpress.com/2009/01/12/create-tooltip-dynamically-by-ajax-and-webservice/</a></span></span></font></p><p>&nbsp;</p><h2><span style="font-size: 18pt; ">方法一：使用</span><span style="font-size: 18pt; ">ICallbackEventHandler</span>&nbsp;</h2><p><span class="Apple-style-span" style="font-family: tahoma, verdana, sans-serif; line-height: normal; font-size: 12px; color: #333333; "></span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Use Pop up div by JavaScript or AJAX Control Toolkit&#8217;s Hover Menu control can create a Tooltip easily.</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">However, if we need to create&nbsp;the content of tooltip dynamically by the Server-Side code, we can use the&nbsp;<span style="color: #2b91af; ">ICallbackEventHandler</span>&nbsp;to achieve the faing goal.</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Please try the following demo, when you move the mouse on the text, the related image and text which will be created&nbsp;on the code-behind show up&nbsp;in the&nbsp;tooltip after 1 second. during the loading process, a &#8220;loading&#8221; gif picture will display in the tooltip box.</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Ok, here we go:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="cnblogs_code"><div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="background-color: #FFFF00; color: #000000;">&lt;%</span><span style="background-color: #F5F5F5; color: #000000;">@&nbsp;Page&nbsp;Language</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&#8221;C#&#8221;&nbsp;AutoEventWireup</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&#8221;</span><span style="background-color: #F5F5F5; color: #0000FF;">true</span><span style="background-color: #F5F5F5; color: #000000;">&#8221;&nbsp;CodeFile</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&#8221;tooltiptest.aspx.cs&#8221;&nbsp;Inherits</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&#8221;tooltiptest&#8221;&nbsp;</span><span style="background-color: #FFFF00; color: #000000;">%&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;!</span><span style="color: #FF00FF;">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8220;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&#8221;&nbsp;&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">html&nbsp;</span><span style="color: #FF0000;">xmlns</span><span style="color: #0000FF;">=&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">head&nbsp;</span><span style="color: #FF0000;">id</span><span style="color: #0000FF;">=&#8220;Head1&#8243;&nbsp;</span><span style="color: #FF0000;">runat</span><span style="color: #0000FF;">=&#8220;server&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">script&nbsp;</span><span style="color: #FF0000;">type</span><span style="color: #0000FF;">=&#8220;text/javascript&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="background-color: #F5F5F5; color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF;">var</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF;">var</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF;">function</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;HandleMouseOver(Label)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CallTheServer(Label.innerText,&nbsp;&#8221;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;positionX&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;event.clientX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;positionY&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;event.clientY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).style.left&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).style.top&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).style.display&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;&#8216;block&#8217;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF;">function</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;HandleMouseOut()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).style.display&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;&#8216;none&#8217;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).innerHTML&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;&#8220;</span><span style="background-color: #F5F5F5; color: #000000;">&lt;</span><span style="background-color: #F5F5F5; color: #000000;">img&nbsp;src</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&#8217;loading.gif&#8217;</span><span style="background-color: #F5F5F5; color: #000000;">/</span><span style="background-color: #F5F5F5; color: #000000;">&gt;&#8221;;</span><span style="background-color: #F5F5F5; color: #000000;"><br /></span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #0000FF;">function</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;ReceiveServerData(arg,&nbsp;context)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;tooltipDiv&#8217;).innerHTML&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">=</span><span style="background-color: #F5F5F5; color: #000000;">&nbsp;arg;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">script</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">style&nbsp;</span><span style="color: #FF0000;">type</span><span style="color: #0000FF;">=&#8220;text/css&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="background-color: #F5F5F5; color: #800000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.style1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">{</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;1px&nbsp;solid&nbsp;#96C2F1</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;#EFF7FF</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;absolute</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;none</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;alpha(opacity=80)</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opacity</span><span style="background-color: #F5F5F5; color: #000000;">:</span><span style="background-color: #F5F5F5; color: #0000FF;">&nbsp;0.80</span><span style="background-color: #F5F5F5; color: #000000;">;</span><span style="background-color: #F5F5F5; color: #FF0000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #F5F5F5; color: #000000;">}</span><span style="background-color: #F5F5F5; color: #800000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">style</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;">Untitled&nbsp;Page</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">body&nbsp;</span><span style="color: #FF0000;">style</span><span style="color: #0000FF;">=&#8220;font-family:&nbsp;</span><span style="color: #FF0000;">Calibri;&nbsp;font-size:&nbsp;15px;&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">form&nbsp;</span><span style="color: #FF0000;">id</span><span style="color: #0000FF;">=&#8220;form1&#8243;&nbsp;</span><span style="color: #FF0000;">runat</span><span style="color: #0000FF;">=&#8220;server&#8221;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #FF0000;">id</span><span style="color: #0000FF;">=&#8220;tooltipDiv&#8221;&nbsp;</span><span style="color: #FF0000;">class</span><span style="color: #0000FF;">=&#8220;style1&#8243;</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">img&nbsp;</span><span style="color: #FF0000;">src</span><span style="color: #0000FF;">=&#8220;loading.gif&#8221;</span><span style="color: #0000FF;">/&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">div</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">asp:Label&nbsp;</span><span style="color: #FF0000;">ID</span><span style="color: #0000FF;">=&#8220;Label1&#8243;&nbsp;</span><span style="color: #FF0000;">runat</span><span style="color: #0000FF;">=&#8220;server&#8221;&nbsp;</span><span style="color: #FF0000;">Text</span><span style="color: #0000FF;">=&#8220;http://forums.asp.net/Themes/FAN/style/i/logo.png&#8221;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF0000;">onmouseout</span><span style="color: #0000FF;">=&#8220;HandleMouseOut()&#8221;&nbsp;</span><span style="color: #FF0000;">onmouseover</span><span style="color: #0000FF;">=&#8220;HandleMouseOver(this)&#8221;</span><span style="color: #0000FF;">&gt;&lt;/</span><span style="color: #800000;">asp:Label</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000FF;">/&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000FF;">/&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000FF;">/&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">br&nbsp;</span><span style="color: #0000FF;">/&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;</span><span style="color: #800000;">asp:Label&nbsp;</span><span style="color: #FF0000;">ID</span><span style="color: #0000FF;">=&#8220;Label2&#8243;&nbsp;</span><span style="color: #FF0000;">runat</span><span style="color: #0000FF;">=&#8220;server&#8221;&nbsp;</span><span style="color: #FF0000;">Text</span><span style="color: #0000FF;">=&#8220;http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif&#8221;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF0000;">onmouseout</span><span style="color: #0000FF;">=&#8220;HandleMouseOut()&#8221;&nbsp;</span><span style="color: #FF0000;">onmouseover</span><span style="color: #0000FF;">=&#8220;HandleMouseOver(this)&#8221;</span><span style="color: #0000FF;">&gt;&lt;/</span><span style="color: #800000;">asp:Label</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">form</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000FF;">&gt;</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000FF;">&gt;</span></div></div><p>&nbsp;</p><div class="cnblogs_code"><div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System;<br /></span><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System.Collections.Generic;<br /></span><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System.Linq;<br /></span><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System.Web;<br /></span><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System.Web.UI;<br /></span><span style="color: #0000FF;">using</span><span style="color: #000000;">&nbsp;System.Web.UI.WebControls;<br /></span><span style="color: #0000FF;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">partial</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">class</span><span style="color: #000000;">&nbsp;tooltiptest&nbsp;:&nbsp;System.Web.UI.Page,&nbsp;System.Web.UI.ICallbackEventHandler<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">string</span><span style="color: #000000;">&nbsp;tooltip;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">void</span><span style="color: #000000;">&nbsp;RaiseCallbackEvent(String&nbsp;eventArgument)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">string</span><span style="color: #000000;">&nbsp;filename&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;eventArgument;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tooltip&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;GetTooltip(filename);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">string</span><span style="color: #000000;">&nbsp;GetCallbackResult()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">return</span><span style="color: #000000;">&nbsp;tooltip;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">string</span><span style="color: #000000;">&nbsp;GetTooltip(</span><span style="color: #0000FF;">string</span><span style="color: #000000;">&nbsp;imagename)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Thread.Sleep(</span><span style="color: #800080;">1000</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">return</span><span style="color: #000000;">&nbsp;@&#8221;</span><span style="color: #0000FF;">this</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">is</span><span style="color: #000000;">&nbsp;just&nbsp;a&nbsp;demo:&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">br</span><span style="color: #000000;">&gt;&lt;</span><span style="color: #000000;">img&nbsp;src</span><span style="color: #000000;">=</span><span style="color: #000000;">&#8217;&#8221;&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;imagename</span><span style="color: #000000;">+</span><span style="color: #000000;">&#8220;&#8216;</span><span style="color: #000000;">/&gt;</span><span style="color: #000000;">&#8221;;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000FF;">void</span><span style="color: #000000;">&nbsp;Page_Load(</span><span style="color: #0000FF;">object</span><span style="color: #000000;">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;cbReference&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Page.ClientScript.GetCallbackEventReference(</span><span style="color: #0000FF;">this</span><span style="color: #000000;">,&nbsp;&#8220;arg&#8221;,&nbsp;&#8220;ReceiveServerData&#8221;,&nbsp;&#8220;context&#8221;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;callbackScript&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;&#8220;function&nbsp;CallTheServer(arg,&nbsp;context)&nbsp;{&#8220;&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;cbReference&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;&#8220;;&nbsp;}&#8221;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page.ClientScript.RegisterClientScriptBlock(</span><span style="color: #0000FF;">this</span><span style="color: #000000;">.GetType(),&nbsp;&#8220;CallTheServer&#8221;,&nbsp;callbackScript,&nbsp;</span><span style="color: #0000FF;">true</span><span style="color: #000000;">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div></div><p>&nbsp;</p><span class="Apple-style-span" style="color: #000000; font-family: verdana, 'courier new'; font-size: 16px; font-weight: bold; line-height: 21px; "><h2><span style="font-size: 18pt; ">方法二：使用</span><span style="font-size: 18pt; ">PageMethod</span></h2></span></div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">If we are using ASP.NET AJAX, the same effect can be achieve by&nbsp;<span style="color: #0000ff; ">AJAX Page Method&nbsp;</span>easily.</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Ok, here we go:</p><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 1:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">we need to set the&nbsp;<span style="color: #ff0000; ">EnablePageMethods</span><span style="color: #0000ff; ">=&#8221;true&#8221;&nbsp;</span>for our&nbsp;<span style="color: #800000; ">ScriptManager&nbsp;</span>or&nbsp;<span style="color: #800000; ">ToolkitScriptManager</span>:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">&lt;asp:ScriptManager</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;ScriptManager1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">EnablePageMethods=</span><span style="color: #0000ff; ">&#8220;true&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/asp:ScriptManager&gt;</span></div></div><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 2:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Let&#8217;s create the Server-side method for create tooltip message, please notice the using references and attribute:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Collections.Generic;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Linq;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Script.Services;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Services;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.UI;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.UI.WebControls;<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">[ScriptService]</span><br /><span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">partial</span>&nbsp;<span style="font-weight: bold; color: #000080; ">class</span>&nbsp;tooltiptest2 : System.Web.UI.<a target="_top" id="AdBriteInlineAd_Page" name="AdBriteInlineAd_Page" style="text-decoration: none; color: #006600; font-weight: bold; cursor: pointer; background-image: url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin-bottom: -2px; padding-bottom: 2px; background-position: 50% 100%; background-repeat: repeat no-repeat; ">Page</a><br /><span style="font-weight: bold; color: #000080; ">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">protected</span>&nbsp;<span style="font-weight: bold; color: #000080; ">void</span>&nbsp;Page_Load(<span style="font-weight: bold; color: #000080; ">object</span>&nbsp;sender, EventArgs e)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">{</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">}</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">&nbsp;&nbsp;&nbsp; [WebMethod]</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">static</span>&nbsp;<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;GetTooltip(<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;imagename)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Threading.Thread.Sleep(<span style="color: #0000ff; ">1000</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">return</span>&nbsp;<span style="color: #0000ff; ">@&#8221;this is just a demo: &lt;br&gt;&lt;img src=&#8217;&#8221;</span>&nbsp;+ imagename +&nbsp;<span style="color: #0000ff; ">&#8220;&#8216;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">}</span><br /><span style="font-weight: bold; color: #000080; ">}</span></p></div></div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;</p><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "></div><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 3:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Complete the JavaScript code to invoke the page method:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">&lt;script&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/javascript&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionY;</div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onSuccess(value, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML = value;<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onFailed(ex, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(ex.get_exceptionType());<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOut() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;none&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML =&nbsp;<span style="color: #0000ff; ">&#8220;&lt;img src=&#8217;loading.gif&#8217;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOver(Label) {</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PageMethods.GetTooltip(Label.innerText, onSuccess, onFailed);</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionX = event.clientX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionY = event.clientY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.left = positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.top = positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;block&#8217;</span>;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br /><span style="font-weight: bold; color: #000080; ">&lt;/script&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">OK, the full code is following:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="color: #a61717; background-color: #e3d2d2; ">&lt;</span>%@ Page Language=&#8221;C#&#8221; AutoEventWireup=&#8221;true&#8221; CodeFile=&#8221;tooltiptest2.aspx.cs&#8221; Inherits=&#8221;tooltiptest2&#8243; %&gt;</div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #008080; ">&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;html</span>&nbsp;<span style="color: #ff0000; ">xmlns=</span><span style="color: #0000ff; ">&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;head</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;Head1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;script&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/javascript&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionY;</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onSuccess(value, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML = value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onFailed(ex, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(ex.get_exceptionType());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOut() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;none&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML =&nbsp;<span style="color: #0000ff; ">&#8220;&lt;img src=&#8217;loading.gif&#8217;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOver(Label) {</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PageMethods.GetTooltip(Label.innerText, onSuccess, onFailed);</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionX = event.clientX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionY = event.clientY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.left = positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.top = positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;block&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/script&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;style&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/css&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .style1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">border</span>:&nbsp;<span style="color: #0000ff; ">1px</span>&nbsp;<span style="font-weight: bold; color: #000080; ">solid</span>&nbsp;<span style="color: #0000ff; ">#96C2F1</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">background-color</span>:&nbsp;<span style="color: #0000ff; ">#EFF7FF</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">position</span>:&nbsp;<span style="font-weight: bold; color: #000080; ">absolute</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">display</span>:&nbsp;<span style="font-weight: bold; color: #000080; ">none</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filter: alpha(<span style="font-weight: bold; color: #000080; ">opacity</span>=<span style="color: #0000ff; ">80</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">opacity</span>:&nbsp;<span style="color: #0000ff; ">0</span>.<span style="color: #0000ff; ">80</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/style&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;title&gt;</span>Untitled Page<span style="font-weight: bold; color: #000080; ">&lt;/title&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/head&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;body</span>&nbsp;<span style="color: #ff0000; ">style=</span><span style="color: #0000ff; ">&#8220;font-family: Calibri; font-size: 15px;&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;form</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;form1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:ScriptManager</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;ScriptManager1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">EnablePageMethods=</span><span style="color: #0000ff; ">&#8220;true&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/asp:ScriptManager&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;div</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;tooltipDiv&#8221;</span>&nbsp;<span style="color: #ff0000; ">class=</span><span style="color: #0000ff; ">&#8220;style1&#8243;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;img</span>&nbsp;<span style="color: #ff0000; ">src=</span><span style="color: #0000ff; ">&#8220;loading.gif&#8221;</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:Label</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;Label1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">Text=</span><span style="color: #0000ff; ">&#8220;http://forums.asp.net/Themes/FAN/style/i/logo.png&#8221;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; ">onmouseout=</span><span style="color: #0000ff; ">&#8220;HandleMouseOut()&#8221;</span>&nbsp;<span style="color: #ff0000; ">onmouseover=</span><span style="color: #0000ff; ">&#8220;HandleMouseOver(this)&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;&lt;/asp:Label&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:Label</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;Label2&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">Text=</span><span style="color: #0000ff; ">&#8220;http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif&#8221;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; ">onmouseout=</span><span style="color: #0000ff; ">&#8220;HandleMouseOut()&#8221;</span>&nbsp;<span style="color: #ff0000; ">onmouseover=</span><span style="color: #0000ff; ">&#8220;HandleMouseOver(this)&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;&lt;/asp:Label&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/form&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/body&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/html&gt;</span></p></div></div><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Collections.Generic;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Linq;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Script.Services;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Services;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.UI;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.UI.WebControls;</div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">[ScriptService]</span><br /><span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">partial</span>&nbsp;<span style="font-weight: bold; color: #000080; ">class</span>&nbsp;tooltiptest2 : System.Web.UI.Page<br /><span style="font-weight: bold; color: #000080; ">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">protected</span>&nbsp;<span style="font-weight: bold; color: #000080; ">void</span>&nbsp;Page_Load(<span style="font-weight: bold; color: #000080; ">object</span>&nbsp;sender, EventArgs e)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">{</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">}</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">&nbsp;&nbsp;&nbsp; [WebMethod]</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">static</span>&nbsp;<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;GetTooltip(<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;imagename)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Threading.Thread.Sleep(<span style="color: #0000ff; ">1000</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">return</span>&nbsp;<span style="color: #0000ff; ">@&#8221;this is just a demo: &lt;br&gt;&lt;img src=&#8217;&#8221;</span>&nbsp;+ imagename +&nbsp;<span style="color: #0000ff; ">&#8220;&#8216;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">}</span><br />}</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><h2><span style="font-size: 18pt; ">方法三：使用</span><span style="font-size: 18pt; ">WebService和AJAX</span></h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">And we can also use WebService and AJAX to achieve the same goal.</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Ok, here we go:</p><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 1:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">First, let&#8217;s add the WebService reference to our page:<span style="font-weight: bold; color: #000080; "></span></p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">&lt;asp:ScriptManager</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;ScriptManager1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;Services&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:ServiceReference</span>&nbsp;<span style="color: #ff0000; ">Path=</span><span style="color: #0000ff; ">&#8220;~/tooltiptest3.asmx&#8221;</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/Services&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/asp:ScriptManager&gt;</span></div></div></div></div><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 2:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Let&#8217;s create the WebService for create tooltip message:</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="font-weight: bold; color: #000080; "></span></p><div id="codee_html" style="background-color: #f9f7ed; "><div style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #fdfdfd; background-position: initial initial; background-repeat: initial initial; "><span style="text-decoration: underline; ">C#</span>:&nbsp;<a href="http://www.zend2.com/Go.php?u=Oi8vd3d3LmZheWFhLmNvbS9jb2RlL3ZpZXcvLw%3D%3D&amp;b=5" style="text-decoration: none; color: #226699; font-weight: bold; " target="_blank">tooltiptest3.asmx</a></div><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; ">&lt;%<span style="color: #a61717; background-color: #e3d2d2; ">@</span>&nbsp;WebService Language=<span style="color: #0000ff; ">&#8220;C#&#8221;</span>&nbsp;Class=<span style="color: #0000ff; ">&#8220;tooltiptest3&#8243;</span>&nbsp;%&gt;<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Services;<br /><span style="font-weight: bold; color: #000080; ">using</span>&nbsp;System.Web.Services.Protocols;</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">[WebService(Namespace = "http://tempuri.org/")]</span><br /><span style="color: #ff0000; ">[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]</span><br /><span style="color: #008800; font-style: italic; ">// To allow this Web&nbsp;<a target="_top" id="AdBriteInlineAd_Service" name="AdBriteInlineAd_Service" style="text-decoration: none; color: #006600; font-weight: bold; cursor: pointer; background-image: url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin-bottom: -2px; padding-bottom: 2px; background-position: 50% 100%; background-repeat: repeat no-repeat; ">Service</a>&nbsp;to be called from script, using ASP.NET AJAX, uncomment the following line.&nbsp;</span><br /><span style="color: #ff0000; ">[System.Web.Script.Services.ScriptService]</span><br /><span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">class</span>&nbsp;tooltiptest3&nbsp; : System.Web.Services.WebService&nbsp;<span style="font-weight: bold; color: #000080; ">{</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #ff0000; ">&nbsp;&nbsp;&nbsp; [WebMethod]</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">public</span>&nbsp;<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;GetTooltip(<span style="font-weight: bold; color: #000080; ">string</span>&nbsp;imagename)<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">{</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Threading.Thread.Sleep(<span style="color: #0000ff; ">1000</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">return</span>&nbsp;<span style="color: #0000ff; ">@&#8221;this is just a demo: &lt;br&gt;&lt;img src=&#8217;&#8221;</span>&nbsp;+ imagename +&nbsp;<span style="color: #0000ff; ">&#8220;&#8216;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">}</span><br />&nbsp;&nbsp;&nbsp;<br /><span style="font-weight: bold; color: #000080; ">}</span></p></div></div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "></p><h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: normal; font-size: 1.8em; letter-spacing: -1px; color: #555555; border-bottom-width: 2px; border-bottom-style: solid; border-bottom-color: #aabbbb; ">Step 3:</h2><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">Complete the JavaScript code to invoke the page method:</p><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="font-weight: bold; color: #000080; ">&lt;script&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/javascript&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionY;<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onSuccess(value) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML = value;<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onFailed(ex, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(ex.get_exceptionType());<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOut() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;none&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML =&nbsp;<span style="color: #0000ff; ">&#8220;&lt;img src=&#8217;loading.gif&#8217;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOver(Label) {</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tooltiptest3.GetTooltip(Label.innerText, onSuccess, onFailed);</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionX = event.clientX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionY = event.clientY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.left = positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.top = positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;block&#8217;</span>;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br /><span style="font-weight: bold; color: #000080; ">&lt;/script&gt;</span></p></div><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">OK, the full page code is following:</p><div id="codee_html" style="background-color: #f9f7ed; "><div class="source" style="font-family: 'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'; background-color: #f9f7ed; "><span style="color: #a61717; background-color: #e3d2d2; ">&lt;</span>%@&nbsp;<a target="_top" id="AdBriteInlineAd_Page" name="AdBriteInlineAd_Page" style="text-decoration: none; color: #006600; font-weight: bold; cursor: pointer; background-image: url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin-bottom: -2px; padding-bottom: 2px; background-position: 50% 100%; background-repeat: repeat no-repeat; ">Page</a>&nbsp;Language=&#8221;C#&#8221; %&gt;<p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="color: #008080; ">&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Transitional//EN&#8221; &#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="font-weight: bold; color: #000080; ">&lt;script&nbsp;</span><span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="font-weight: bold; color: #000080; ">&lt;/script&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; "><span style="font-weight: bold; color: #000080; ">&lt;html</span>&nbsp;<span style="color: #ff0000; ">xmlns=</span><span style="color: #0000ff; ">&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;head</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;Head1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;script&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/javascript&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">var</span>&nbsp;positionY;</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onSuccess(value) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML = value;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;onFailed(ex, ctx, methodName) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(ex.get_exceptionType());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOut() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;none&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).innerHTML =&nbsp;<span style="color: #0000ff; ">&#8220;&lt;img src=&#8217;loading.gif&#8217;/&gt;&#8221;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">function</span>&nbsp;HandleMouseOver(Label) {</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tooltiptest3.GetTooltip(Label.innerText, onSuccess, onFailed);</p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionX = event.clientX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; positionY = event.clientY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.left = positionX;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.top = positionY;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById(<span style="color: #0000ff; ">&#8216;tooltipDiv&#8217;</span>).style.display =&nbsp;<span style="color: #0000ff; ">&#8216;block&#8217;</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/script&gt;</span></p><p style="margin-top: 0.5em; margin-right: 1em; margin-bottom: 0.8em; margin-left: 1em; line-height: 1.5em; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;style&nbsp;</span><span style="color: #ff0000; ">type=</span><span style="color: #0000ff; ">&#8220;text/css&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .style1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">border</span>:&nbsp;<span style="color: #0000ff; ">1px</span>&nbsp;<span style="font-weight: bold; color: #000080; ">solid</span>&nbsp;<span style="color: #0000ff; ">#96C2F1</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">background-color</span>:&nbsp;<span style="color: #0000ff; ">#EFF7FF</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">position</span>:&nbsp;<span style="font-weight: bold; color: #000080; ">absolute</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">display</span>:&nbsp;<span style="font-weight: bold; color: #000080; ">none</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filter: alpha(<span style="font-weight: bold; color: #000080; ">opacity</span>=<span style="color: #0000ff; ">80</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">opacity</span>:&nbsp;<span style="color: #0000ff; ">0</span>.<span style="color: #0000ff; ">80</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/style&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;title&gt;</span>Untitled Page<span style="font-weight: bold; color: #000080; ">&lt;/title&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/head&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;body</span>&nbsp;<span style="color: #ff0000; ">style=</span><span style="color: #0000ff; ">&#8220;font-family: Calibri; font-size: 15px;&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;form</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;form1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:ScriptManager</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;ScriptManager1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;Services&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:ServiceReference</span>&nbsp;<span style="color: #ff0000; ">Path=</span><span style="color: #0000ff; ">&#8220;~/tooltiptest3.asmx&#8221;</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/Services&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/asp:ScriptManager&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;div</span>&nbsp;<span style="color: #ff0000; ">id=</span><span style="color: #0000ff; ">&#8220;tooltipDiv&#8221;</span>&nbsp;<span style="color: #ff0000; ">class=</span><span style="color: #0000ff; ">&#8220;style1&#8243;</span><span style="font-weight: bold; color: #000080; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;img</span>&nbsp;<span style="color: #ff0000; ">src=</span><span style="color: #0000ff; ">&#8220;loading.gif&#8221;</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:Label</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;Label1&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">Text=</span><span style="color: #0000ff; ">&#8220;http://forums.asp.net/Themes/FAN/style/i/logo.png&#8221;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; ">onmouseout=</span><span style="color: #0000ff; ">&#8220;HandleMouseOut()&#8221;</span>&nbsp;<span style="color: #ff0000; ">onmouseover=</span><span style="color: #0000ff; ">&#8220;HandleMouseOver(this)&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;&lt;/asp:Label&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;br</span>&nbsp;<span style="font-weight: bold; color: #000080; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;asp:Label</span>&nbsp;<span style="color: #ff0000; ">ID=</span><span style="color: #0000ff; ">&#8220;Label2&#8243;</span>&nbsp;<span style="color: #ff0000; ">runat=</span><span style="color: #0000ff; ">&#8220;server&#8221;</span>&nbsp;<span style="color: #ff0000; ">Text=</span><span style="color: #0000ff; ">&#8220;http://forums.asp.net/Themes/fan/images/roleicons/a874d69e-0ac8-4b80-acc7-512767e281f6.gif&#8221;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff0000; ">onmouseout=</span><span style="color: #0000ff; ">&#8220;HandleMouseOut()&#8221;</span>&nbsp;<span style="color: #ff0000; ">onmouseover=</span><span style="color: #0000ff; ">&#8220;HandleMouseOver(this)&#8221;</span><span style="font-weight: bold; color: #000080; ">&gt;&lt;/asp:Label&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/div&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: bold; color: #000080; ">&lt;/form&gt;</span><br /><span style="font-weight: bold; color: #000080; ">&lt;/body&gt;</span><br /></p></div></div><p><font class="Apple-style-span" color="#000080" face="'Microsoft Yahei', Consolas, 'Lucida Console', 'Courier New'"><span class="Apple-style-span" style="line-height: 18px;"><strong><br /></strong></span></font></p><p>&nbsp;&nbsp;</p><p>&nbsp;</p><img src="aggbug/1666246.html?type=0" width="1" height="1" alt=""/><p>评论: 8　<a href="http://www.cnblogs.com/blodfox777/archive/2010/02/09/1666246.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/blodfox777/archive/2010/02/09/1666246.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>iis rewrite 规则收集整理</title><link>http://www.cnblogs.com/fengzi520/archive/2010/02/04/1663132.html</link><dc:creator>枫子52011</dc:creator><author>枫子52011</author><pubDate>Wed, 03 Feb 2010 19:25:00 GMT</pubDate><guid>http://www.cnblogs.com/fengzi520/archive/2010/02/04/1663132.html</guid><description><![CDATA[<p>阅读: 100 评论: 0 作者: <a href="" target="_blank">枫子52011</a> 发表于 2010-02-04 03:25 <a href="http://www.cnblogs.com/fengzi520/archive/2010/02/04/1663132.html" target="_blank">原文链接</a></p><p done3="8" done2="8" done0="8">转载请注明来源：<a href="http://www.imfeng.com/" target="_blank"><font color="#4eb0e9">枫子</font></a>整理并发布于：<a href="http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/" target="_blank"><font color="#4eb0e9">http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/</font></a></p>
<p>二级域名：<br />RewriteCond Host: (?!/.|www|ww)(.*).gongluela.com<br />RewriteRule (.*) http/://www.gongluela.com/$1$2 [I,R]</p>
<p>防盗链：<br />ISAPI_Rewrite的httpd.ini内容写的是下面内容，如果你也遇到盗链的困扰，建议可以参考一下：<span id="more-96"></span></p>
<p>RewriteCond Host: (.+)<br />RewriteCond Referer: (?!http://(?:www\.gongluela\.com|www\.imfeng\.com|www\.goboyo\.com|www\.soso\.com|www\.google\.com|cache\.baidu\.com)).+<br />RewriteRule .*\.(?:jpg|kmz|kml|zip) /block.gif [I,O]</p>
<p>注释：第二行里面的域名是允许链接图片的网站列表，目前我允许我自己的两个站和另外bloglines、zhuaxia、google、baidu这四个网站引用我站文件，其他网站的引用被禁止。</p>
<p>　　第三行是禁止引用的文件类型，包括jpg图片、Google Earth的kmz和kml、zip文件。当然，还可以增加其他类型，比如gif、rar等，因为我站没有那些文件，所以没有添加上去。</p>
<p>下面是转载的一点文章，特转给帅哥看的。</p>
<p done3="10" done2="10" done0="10">发这个帮助文件是因为在给朋友设置主机的时候发现他们的<a href="http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/" target="_blank"><font color="#4eb0e9">ISAPI Rewrite</font></a>的设置都有些不正确，有些甚至阻碍了站点的正常运行。就把官方自带的英文帮助粗略的翻译了一下。大家可以自由使用和转载。但转载时如果你愿意请注明是 蓝色 翻译的版本。</p>
<p>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br />ISAPI Rewrite 配置简介：</p>
<p>在NT/2000/XP和2003平台上，ISAPI Rewrite在系统帐户下射入INETINFO进程与 IIS 以共存模式过滤器运行。所以系统帐户应该给予对ISAPI- REWIRITE DLLS Internet匿名访问组 可读可执行权限 和所有的 HTTPD。INI 文件可读权限，还应该给予系统帐户对于所有包括 HTTPD。INI 文件的文件夹的可写权限，这将允许产生 HTTP。 PARSE。ERRORS 日志文件，来记录配置文件语法错误。对于PROXY模块也需要额外的权限，因为它将运行于连接池或HIGH-ISPLATED 应用模式，IIS帐户共享池和HIGH-ISOLATION池应被给予对RWHELPERE。DLL的可读权限。缺省情况下IWAM-《计算机名》被用于所有的池，在相应的COM+应用设置中应借助COM+ADMINISTRATION MMC SNAP-IN建立池帐户</p>
<p>配置文件格式化：</p>
<p>配置文件分为两种： GLOBAL（服务器全局模式）和 INDIVIDUAL（站点独立设置模式）文件，GLOBAL（服务器端全局模式）配置文件应该被放在ISAPI-REWRITE 安装目录中，名为 httpd.ini 。这个文件可以通过开始菜单的快捷方式访问和配置，这个文件里面的映射规则为全局规则，将针对所有站点起效。INDIVIDUAL（站点独立设置模式）配置文件应该被放在虚拟站点的根目录内，也被命名为httpd.ini文件，这里面应该放置针对站点的映射配置设置，只针对被放置的虚拟站点有效。两种类型的 httpd.ini 都是标准的windows ini 文件。所有的映射规则应该被放置在 [ISAPI_Rewrite] 之后。之前的文件文本将被忽略。<br />HTTPD.INI文件示例</p>
<p>[ISAPI_Rewrite]</p>
<p># This is a comment</p>
<p># 300 = 5 minutes</p>
<p>CacheClockRate 300</p>
<p>RepeatLimit 20</p>
<p># 设置其他人没有下载 httpd.ini 和 httpd.parse.errors 文件的权限</p>
<p>RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]</p>
<p># Block external access to the Helper ISAPI Extension</p>
<p>RewriteRule .*\.isrwhlp / [F,I,O]</p>
<p># 配置规则</p>
<p>RewriteCond Host: (.+)</p>
<p>RewriteCond 指令</p>
<p>Syntax:（句法） RewriteCond TestVerb CondPattern [Flags]</p>
<p>这一指令定义一个条件规则，在 RewriteRule 或者 RewriteHeader或 RewriteProxy指令前预行RewriteCond指令，后面的规则只有它的，模式匹配URI的当前状态并且额外的条件也被应用才会被应用。</p>
<p>TestVerb</p>
<p>Specifies verb that will be matched against regular expression.</p>
<p>特别定义的动词匹配规定的表达式</p>
<p>TestVerb=(URL | METHOD | VERSION | HTTPHeaderName: | %ServerVariable) where:</p>
<p>URL &#8211; returns Request-URI of client request as described in RFC 2068 (HTTP 1.1);</p>
<p>返回客户端在RFC2068中描述的需求的Request-URI</p>
<p>METHOD &#8211; returns HTTP method of client request (OPTIONS, GET, HEAD, POST, PUT, Delete or TRACE);</p>
<p>返回客户端需求(OPTIONS, GET, HEAD, POST, PUT, Delete or TRACE)的HTTP方法</p>
<p>VERSION &#8211; returns HTTP version;</p>
<p>返回HTTP版本</p>
<p>HTTPHeaderName &#8211; returns value of the specified HTTP header. HTTPHeaderName can be any valid HTTP header name. Header names should include the trailing colon &#8220;:&#8221;. If specified header does not exists in a client&#8217;s request TestVerb is treated as empty string.</p>
<p>返回特定义的HTTP头文件的值</p>
<p>HTTPHeaderName =</p>
<p>Accept:</p>
<p>Accept-Charset:</p>
<p>Accept-Encoding:</p>
<p>Accept-Language:</p>
<p>Authorization:</p>
<p>Cookie:</p>
<p>From:</p>
<p>Host:</p>
<p>If-Modified-Since:</p>
<p>If-Match:</p>
<p>If-None-Match:</p>
<p>If-Range:</p>
<p>If-Unmodified-Since:</p>
<p>Max-Forwards:</p>
<p>Proxy-Authorization:</p>
<p>Range:</p>
<p>Referer:</p>
<p>User-Agent:</p>
<p>Any-Custom-Header</p>
<p>得到更多的关于HTTP头文件的和他们的值的信息参考RFC2068</p>
<p>ServerVariable 返回特定义的服务器变量的值 。例如服务器端口，全部服务器变量列表应在IIS文档中建立，变量名应用%符预定；</p>
<p>CondPattern</p>
<p>The regular expression to match TestVerb</p>
<p>规则表达式匹配TestVerb</p>
<p>[Flags]</p>
<p>Flags is a comma-separated list of the following flags:</p>
<p>O (nOrmalize)</p>
<p>Normalizes string before processing. Normalization includes removing of an URL-encoding, illegal characters, etc. This flag is useful with URLs and URL-encoded headers</p>
<p>RewriteRule 指令</p>
<p>Syntax: RewriteRule Pattern FormatString [Flags]</p>
<p>这个指令可以不止发生一次，每个指令定义一个单独的重写规则，这些规则的定义命令很重要，因为这个命令在应用运行时规则是有用途的</p>
<p>I (ignore case）</p>
<p>不管大小写强行指定字符匹配(<a href="http://www.chnjc.com/" target="_blank">http://www.chnjc.com/</a>)，这个FLAG影响RewriteRule指令和相应的RewriteCond 指令</p>
<p>F (Forbidden)</p>
<p>对客户端做反应，停止REWRITING进程并且发送403错误，注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。</p>
<p>L (last rule)</p>
<p>不应用任何重写规则在此停止重写进程，使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写</p>
<p>N (Next iteration)</p>
<p>强制REWRITINGENGINE调整规则目标并且从头重启规则检查（所有修改将保存），重启次数由RepeatLimit指定的值限制，如果这个数值超过N FLAG将被忽略</p>
<p>NS (Next iteration of the same rule)</p>
<p>以N标记工作不从相同的规则重启规则规则进程（例如强制重复规则应用），通过RepeatLimit指令指定一个反复实行某一规则的最大数目，</p>
<p>P (force proxy)</p>
<p>强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求，必须确认代理字符串是一个有效的URI包括协议主机等等否则代理将返回错误</p>
<p>R (explicit redirect）</p>
<p>强制服务器对客户端发出重定向指示即时应答，提供目的URI的新地址，重定向规则经常是最后规则</p>
<p>RP (permanent redirect)</p>
<p>几乎和[R]标记相同但是发布301HTTP状态而不是302HTTP状态代码</p>
<p>U (Unmangle Log)</p>
<p>当URI是源需求而不是重写需求时记载URI</p>
<p>O (nOrmalize)</p>
<p>在实行之前标准化字符串。标准化包括URL-ENCODING，不合法的字符的再移动等，这个标记对于URLS和URLS-ENDODED头是有用的</p>
<p>CL (Case Lower)</p>
<p>小写</p>
<p>CU (Case Upper)</p>
<p>大写</p>
<p>RewriteHeader directive</p>
<p>Syntax: RewriteHeader HeaderName Pattern FormatString [Flags]</p>
<p>这个指令是RewriteRule的更概括化变种，它不仅重写URL的客户端需求部分，而且重写HTTP头，这个指令不仅用于重写。生成，删除任何HTTP头，甚至改变客户端请求的方法</p>
<p>HeaderName</p>
<p>指定将被重写的客户头(<a href="http://www.yaopinwang.org/" target="_blank">http://www.yaopinwang.org/</a>)，可取的值与 RewriteCond 指令中TestVerb参数相同</p>
<p>Pattern</p>
<p>限定规则表达式以匹配Request-URI，</p>
<p>FormatString</p>
<p>限定将生成新的URI的FormatString</p>
<p>[Flags]</p>
<p>是一个下列FLAGS的命令分隔列表</p>
<p>I (ignore case）</p>
<p>不管大小写强行指定字符匹配，这个FLAG影响RewriteRule指令和相应的RewriteCond 指令</p>
<p>F (Forbidden)</p>
<p>对客户端做反应，停止REWRITING进程并且发送403错误，注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。</p>
<p>L (last rule)</p>
<p>不应用任何重写规则在此停止重写进程，使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写</p>
<p>N (Next iteration)</p>
<p>强制REWRITINGENGINE调整规则目标并且从头重启规则检查（所有修改将保存），重启次数由RepeatLimit指定的值限制，如果这个数值超过N FLAG将被忽略</p>
<p>NS (Next iteration of the same rule)</p>
<p>以N标记工作不从相同的规则重启规则规则进程（例如强制重复规则应用），通过RepeatLimit指令指定一个反复实行某一规则的最大数目，</p>
<p>R (explicit redirect）</p>
<p>强制服务器对客户端发出重定向指示即时应答，提供目的URI的新地址，重定向规则经常是最后规则</p>
<p>RP (permanent redirect)</p>
<p>几乎和[R]标记相同但是发布301HTTP状态而不是302HTTP状态代码</p>
<p>U (Unmangle Log)</p>
<p>当URI是源需求而不是重写需求时记载URI</p>
<p>O (nOrmalize)</p>
<p>在实行之前标准化字符串。标准化包括URL-ENCODING，不合法的字符的再移动等，这个标记对于URLS和URLS-ENDODED头是有用的</p>
<p>CL (Case Lower)</p>
<p>小写</p>
<p>CU (Case Upper)</p>
<p>大写</p>
<p>&nbsp;</p>
<p>要重移动头，FORMAT STRING模式应该生成一个空字符串，例如这一规则将从客户请求中重移代理信息</p>
<p>RewriteHeader User-Agent: .* $0</p>
<p>并且这一规则将把OLD-URL HEADER 加入请求中。</p>
<p>RewriteCond URL (.*)RewriteHeader Old-URL: ^$ $1</p>
<p>最后一个例子将通过改变请求方法定向所有的WEBDAV请求到/WEBDAV。ASP</p>
<p>RewriteCond METHOD OPTIONS</p>
<p>RewriteRule (.*) /webdav.asp?$1</p>
<p>RewriteHeader METHOD OPTIONS GET</p>
<p>RewriteProxy directive</p>
<p>Syntax: RewriteProxy Pattern FormatString [Flags]</p>
<p>强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求，这将允许IIS作为代理服务器并且重路由到其他站点和服务器</p>
<p>Pattern</p>
<p>限定规则表达式以匹配Request-URI，</p>
<p>FormatString</p>
<p>限定将生成新的URI的FormatString</p>
<p>[Flags]</p>
<p>是一个下列FLAGS的命令分隔列表</p>
<p>D (Delegate security)</p>
<p>代理模式将试图以当前假冒的用户资格登陆远程服务器，</p>
<p>C (use Credentials)</p>
<p done3="11" done2="11" done0="11">代理模式将试图一在URL或基本授权头文件中指定的资格登陆远程服务器，用这个标记你可以使用<a href="http://user:password@host.com/path/" target="_blank"><font color="#4eb0e9">http://user:password@host.com/path/</font></a> syntax 作为URL</p>
<p>F (Follow redirects)</p>
<p>缺省情况下ISAPI_Rewrite 将试图将MAP远程服务器返回的重定向指令到本地服务器命名空间，如果远程服务器返回重定向点到那台服务器其他的某个位置，ISAPI_Rewrite 将修改这一重定向指令指向本服务器名，这将避免用户看到真实（内部）服务器名称</p>
<p>使用F标记强制代理模式内部跟踪远程服务器返回的重定向指令，使用这个标记如果你根本不需要接受远程服务器的重定向指令，在WINHTTP设置中有重定向限制以避免远程重定向循环</p>
<p>I (ignore case)</p>
<p>不管大小写强行指定字符匹配</p>
<p>U (Unmangle Log)</p>
<p>当URI是源需求而不是重写需求时记载URI</p>
<p>O (nOrmalize)</p>
<p>在实行之前标准化字符串。标准化包括URL-ENCODING，不合法的字符的再移动等，这个标记对于URLS和URLS-ENDODED头是有用的</p>
<p>CacheClockRate directive</p>
<p>Syntax: CacheClockRate Interval</p>
<p>这个指令只在GLOBAL配置内容中出现，如果这个指令在SITE-LEVEL内容中出现将被忽略并把错误信息写入httpd.parse.errors 文件</p>
<p>ISAPI_Rewrite caches每次在第一次加载时配置(<a href="http://www.mshuba.com/" target="_blank">http://www.mshuba.com/</a>)，使用这个指令你可以限定当一个特定站点从缓存中清理的不活动周期，把这个参数设置的足够大你可以强制 ISAPI_Rewrite 永不清理缓存，记住任何配置文件的改变将在下次请求后立即更新而忽略这个周期</p>
<p>Interval</p>
<p>限定特定配置被清理出缓存的不作为时间（以秒计），缺省值3600（1小时）</p>
<p>EnableConfig and DisableConfig directives</p>
<p>Syntax:</p>
<p>EnableConfig [SiteID|"Site name"]</p>
<p>DisableConfig [SiteID|"Site name"]</p>
<p>对所选站点激活或不激活SITE-LEVEL配置或者改变缺省配置，缺省SITE-LEVEL配置不激活，这个指令只出现在GLOBAL配置内容中</p>
<p>SiteID</p>
<p>Numeric metabase identifier of a site</p>
<p>Site name</p>
<p>Name of the site as it appears in the IIS console</p>
<p>不用参数使用这个命令将改变缺省配置到ENABLE/DISABLE配置进程</p>
<p>例子</p>
<p>下面例子将使配置仅作用于ID=1（典型是缺省站点）名字是MY SITE的站点</p>
<p>DisableConfig</p>
<p>EnableConfig 1</p>
<p>EnableConfig&#8221;My site&#8221;</p>
<p>下边例子将激活名称为SOMESITE配置因为它分割设置重载了缺省设置</p>
<p>EnableConfig&#8221;Some site&#8221;</p>
<p>DisableConfig</p>
<p>EnableRewrite and DisableRewrite directives</p>
<p>Syntax:</p>
<p>EnableRewrite [SiteID|"Site name"]</p>
<p>DisableRewrite [SiteID|"Site name"]</p>
<p>对所选站点激活或不激活重写或者改变缺省配置，缺省重写配置激活，这个指令只出现在GLOBAL配置内容中</p>
<p>SiteID</p>
<p>Numeric metabase identifier of a site</p>
<p>Site name</p>
<p>Name of the site as it appears in the IIS console.</p>
<p>不使用参数这个命令将全部激活或者不激活</p>
<p>RepeatLimit directive</p>
<p>Syntax: RepeatLimit Limit</p>
<p>这个指令可以出现在GLOBAL和SITE-LEVEL配置文件中，如果出现在GLOBAL配置文件中竟改变GLOBAL对于所有站点的限制，出现在SITE-LEVEL配置中竟只改变对于这个站点的限制并且这个限制不能超过GLOBAL限制</p>
<p>ISAPI_Rewrite在实行规则时允许循环，这个指令允许限制最大可能循环的数量，可以设置为0或1而不支持循环，</p>
<p>LIMIT</p>
<p>限制最大循环数量，缺省32</p>
<p>RFStyle directive</p>
<p>Syntax: RFStyle Old | New</p>
<p>Configuration Utility</p>
<p>ISAPI_Rewrite Full包括配置功用（可以在 ISAPI_Rewrite 程序组中启动），它允许你浏览测试状态并输入注册码（如果在安装过程中没有注册），并且调整部分与代理模式操作相关的产品功能，UTILITY是由三个页面组成的属性表</p>
<p>Trial page允许你浏览TIRAL状态并输入注册码（如果在安装过程中没有注册）</p>
<p>Settings page</p>
<p>这页包含对下列参数的编辑框</p>
<p>Helper URL</p>
<p>这个参数影响过滤器和代理模块之间的联系方式，它即可以是以点做前缀的文件扩展名（如 .isrwhlp）也可以是绝对路径，</p>
<p>第一种情况下扩展名将追加在初始请求URI上并且代理模块竟通过SCRIPT MAP激活，缺省扩展名isrwhlp在安装进程中加在global script map 中，如果你改变这个扩展名或者你的应用不继承global script map 设置你应该手动添加向script map 所需求的入口。这个应该有如下参数</p>
<p>Executable: An absolute path to the rwhelper.dll in the short form</p>
<p>Extension: Desired extension (.isrwhlp is default)</p>
<p>Verbs radio button: All Verbs</p>
<p>Script engine checkbox: Checked</p>
<p>Check that file exists checkbox: Unchecked</p>
<p>我们已经创建了一个WSH script proxycfg.vbs ，可以简单在一个a script maps中注册，她位于安装文件夹并且可以在命令行一如下方式运行</p>
<p>cscript proxycfg.vbs [-r] [MetabasePath]</p>
<p>Optional -r 强制注册扩展名</p>
<p>Optional MetabasePath parameter allows specification of the first metabase key to process. By default it is &#8220;/localhost/W3SVC&#8221;.</p>
<p>要在所有现存的 script maps 中注册你可以以如下命令行激活 script</p>
<p>cscript proxycfg.vbs -r</p>
<p>&nbsp;</p>
<p>第二种情况下你应该提供一个URI作为&#8217;Helper URL&#8217;的值(<a href="http://www.gongluela.com/" target="_blank">http://www.gongluela.com/</a>)，你也应该map 一个 ISAPI_Rewrite的安装文件夹作为美意个站点的虚拟文件家</p>
<p>注意：根据顾客反应，IIS5（也许包括IIS4）对长目录名有问题。所以我们强烈推荐使用短目录名</p>
<p>Worker threads limit</p>
<p>这个参数限制在代理扩展线程池中工作线程数，缺省为0意味着这个限制等于处理器数量乘以2</p>
<p>Active threads limit</p>
<p>这个参数限制当前运行线程数，这个数量不可大于&#8221;Worker threads limit&#8221;. 缺省0意思是等于处理器数量</p>
<p>Queue size 这个参数定义最大请求数量，如果你曾经看到Queue timeout expired&#8221; 信息在 the Application event log中你可以增加这个参数</p>
<p>Queue timeout</p>
<p>这个参数定义你在内部请求队列中防止新请求的最大等待时间，如果你曾经看到Queue timeout expired&#8221; 信息在 the Application event log中你可以增加这个参数</p>
<p>Connect timeout</p>
<p>以毫秒设定代理模块连接超时</p>
<p>Send timeout</p>
<p>以毫秒设定代理模块发送超时</p>
<p>Receive timeout</p>
<p>以毫秒设定代理模块发送超时</p>
<p>About page.</p>
<p>It contains copyright information and a link to the ISAPI_Rewrite&#8217;s web site.</p>
<p>Regular expression syntax</p>
<p>这一部分覆盖了 ISAPI_Rewrite规定的表达句法</p>
<p>Literals</p>
<p>所有字符都是原意除了 &#8220;.&#8221;, &#8220;*&#8221;, &#8220;?&#8221;, &#8220;+&#8221;, &#8220;(&#8221;, &#8220;)&#8221;, &#8220;{&#8221;, &#8220;}&#8221;, &#8220;[", "]&#8220;, &#8220;^&#8221; and &#8220;$&#8221;.，这些字符在用&#8220;\&#8221;处理时是原意，原意指一个字符匹配自身</p>
<p>Wildcard</p>
<p>The dot character &#8220;.&#8221; matches any single character except null character and newline character</p>
<p>以下为句法</p>
<p>Repeats</p>
<p>A repeat is an expression that is repeated an arbitrary number of times. An expression followed by &#8220;*&#8221; can be repeated any number of times including zero. An expression followed by &#8220;+&#8221; can be repeated any number of times, but at least once. An expression followed by &#8220;?&#8221; may be repeated zero or one times only. When it is necessary to specify the minimum and maximum number of repeats explicitly, the bounds operator &#8220;{}&#8221; may be used, thus &#8220;a{2}&#8221; is the letter &#8220;a&#8221; repeated exactly twice, &#8220;a{2,4}&#8221; represents the letter &#8220;a&#8221; repeated between 2 and 4 times, and &#8220;a{2,}&#8221; represents the letter &#8220;a&#8221; repeated at least twice with no upper limit. Note that there must be no white-space inside the {}, and there is no upper limit on the values of the lower and upper bounds. All repeat expressions refer to the shortest possible previous sub-expression: a single character; a character set, or a sub-expression grouped with &#8220;()&#8221; for example.</p>
<p>Examples:</p>
<p>&#8220;ba*&#8221; will match all of &#8220;b&#8221;, &#8220;ba&#8221;, &#8220;baaa&#8221; etc.</p>
<p>&#8220;ba+&#8221; will match &#8220;ba&#8221; or &#8220;baaaa&#8221; for example but not &#8220;b&#8221;.</p>
<p>&#8220;ba?&#8221; will match &#8220;b&#8221; or &#8220;ba&#8221;.</p>
<p>&#8220;ba{2,4}&#8221; will match &#8220;baa&#8221;, &#8220;baaa&#8221; and &#8220;baaaa&#8221;.</p>
<p>Non-greedy repeats</p>
<p>Non-greedy repeats are possible by appending a &#8216;?&#8217; after the repeat; a non-greedy repeat is one which will match the shortest possible string.</p>
<p>For example to match html tag pairs one could use something like:</p>
<p>&#8220;&lt;\s*tagname[^&gt;]*&gt;(.*?)&lt;\s*/tagname\s*&gt;&#8221;</p>
<p>In this case $1 will contain the text between the tag pairs, and will be the shortest possible matching string.</p>
<p>Parenthesis</p>
<p>Parentheses serve two purposes, to group items together into a sub-expression, and to mark what generated the match. For example the expression &#8220;(ab)*&#8221; would match all of the string &#8220;ababab&#8221;. All sub matches marked by parenthesis can be back referenced using \N or $N syntax. It is permissible for sub-expressions to match null strings. Sub-expressions are indexed from left to right starting from 1, sub-expression 0 is the whole expression.</p>
<p>Non-Marking Parenthesis</p>
<p>Sometimes you need to group sub-expressions with parenthesis, but don&#8217;t want the parenthesis to spit out another marked sub-expression, in this case a non-marking parenthesis (?:expression) can be used. For example the following expression creates no sub-expressions:</p>
<p>&#8220;(?:abc)*&#8221;</p>
<p>Alternatives</p>
<p>Alternatives occur when the expression can match either one sub-expression or another, each alternative is separated by a &#8220;|&#8221;. Each alternative is the largest possible previous sub-expression; this is the opposite behaviour from repetition operators.</p>
<p>Examples:</p>
<p>&#8220;a(b|c)&#8221; could match &#8220;ab&#8221; or &#8220;ac&#8221;.</p>
<p>&#8220;abc|def&#8221; could match &#8220;abc&#8221; or &#8220;def&#8221;.</p>
<p>Sets</p>
<p>A set is a set of characters that can match any single character that is a member of the set. Sets are delimited by &#8220;[" and "]&#8221; and can contain literals, character ranges, character classes, collating elements and equivalence classes. Set declarations that start with &#8220;^&#8221; contain the compliment of the elements that follow.</p>
<p>Examples:</p>
<p>Character literals:</p>
<p>&#8220;[abc]&#8221; will match either of &#8220;a&#8221;, &#8220;b&#8221;, or &#8220;c&#8221;.</p>
<p>&#8220;[^abc] will match any character other than &#8220;a&#8221;, &#8220;b&#8221;, or &#8220;c&#8221;.</p>
<p>Character ranges:</p>
<p>&#8220;[a-z]&#8221; will match any character in the range &#8220;a&#8221; to &#8220;z&#8221;.</p>
<p>&#8220;[^A-Z]&#8221; will match any character other than those in the range &#8220;A&#8221; to &#8220;Z&#8221;.</p>
<p>Character classes</p>
<p>Character classes are denoted using the syntax &#8220;[:classname:]&#8221; within a set declaration, for example &#8220;[[:space:]]&#8221; is the set of all whitespace characters. The available character classes are:</p>
<p>alnum Any alpha numeric character.</p>
<p>alpha Any alphabetical character a-z and A-Z. Other characters may also be included depending upon the locale.</p>
<p>blank Any blank character, either a space or a tab(<a href="http://www.xbszgs.com/" target="_blank">http://www.xbszgs.com/</a>).</p>
<p>cntrl Any control character.</p>
<p>digit Any digit 0-9.</p>
<p>graph Any graphical character.</p>
<p>lower Any lower case character a-z. Other characters may also be included depending upon the locale.</p>
<p>print Any printable character.</p>
<p>punct Any punctuation character.</p>
<p>space Any whitespace character.</p>
<p>upper Any upper case character A-Z. Other characters may also be included depending upon the locale.</p>
<p>xdigit Any hexadecimal digit character, 0-9, a-f and A-F.</p>
<p>word Any word character &#8211; all alphanumeric characters plus the underscore.</p>
<p>unicode Any character whose code is greater than 255, this applies to the wide character traits classes only.</p>
<p>There are some shortcuts that can be used in place of the character classes:</p>
<p>\w in place of [:word:]</p>
<p>\s in place of [:space:]</p>
<p>\d in place of [:digit:]</p>
<p>\l in place of [:lower:]</p>
<p>\u in place of [:upper:]</p>
<p>Collating elements</p>
<p>Collating elements take the general form [.tagname.] inside a set declaration, where tagname is either a single character, or a name of a collating element, for example [[.a.]] is equivalent to [a], and [[.comma.]] is equivalent to [,]. ISAPI_Rewrite supports all the standard POSIX collating element names, and in addition the following digraphs: &#8220;ae&#8221;, &#8220;ch&#8221;, &#8220;ll&#8221;, &#8220;ss&#8221;, &#8220;nj&#8221;, &#8220;dz&#8221;, &#8220;lj&#8221;, each in lower, upper and title case variations. Multi-character collating elements can result in the set matching more than one character, for example [[.ae.]] would match two characters, but note that [^[.ae.]] would only match one character.</p>
<p>Equivalence classes</p>
<p>Equivalenceclassestakethegeneralform[=tagname=] inside a set declaration, where tagname is either a single character, or a name of a collating element, and matches any character that is a member of the same primary equivalence class as the collating element [.tagname.]. An equivalence class is a set of characters that collate the same, a primary equivalence class is a set of characters whose primary sort key are all the same (for example strings are typically collated by character, then by accent, and then by case; the primary sort key then relates to the character, the secondary to the accentation, and the tertiary to the case). If there is no equivalence class corresponding to tagname, then [=tagname=] is exactly the same as [.tagname.].</p>
<p>To include a literal &#8220;-&#8221; in a set declaration then: make it the first character after the opening &#8220;[" or "[^", the endpoint of a range, a collating element, or precede it with an escape character as in "[\-]&#8220;. To include a literal &#8220;[" or "]&#8221; or &#8220;^&#8221; in a set then make them the endpoint of a range, a collating element, or precede with an escape character.</p>
<p>Line anchors</p>
<p>An anchor is something that matches the null string at the start(<a href="http://www.jiamengku.com/" target="_blank">http://www.jiamengku.com/</a>) or end of a line: &#8220;^&#8221; matches the null string at the start of a line, &#8220;$&#8221; matches the null string at the end of a line.</p>
<p>Back references</p>
<p>A back reference is a reference to a previous sub-expression that has already been matched, the reference is to what the sub-expression matched, not to the expression itself. A back reference consists of the escape character &#8220;\&#8221; followed by a digit &#8220;1&#8243; to &#8220;9&#8243;, &#8220;\1&#8243; refers to the first sub-expression, &#8220;\2&#8243; to the second etc. For example the expression &#8220;(.*)\1&#8243; matches any string that is repeated about its mid-point for example &#8220;abcabc&#8221; or &#8220;xyzxyz&#8221;. A back reference to a sub-expression that did not participate in any match, matches the null string. In ISAPI_Rewrite all back references are global for entire RewriteRule and corresponding RewriteCond directives. Sub matches are numbered up to down and left to right beginning from the first RewriteCond directive of the corresponding RewriteRule directive, if there is one.</p>
<p>Forward Lookahead Asserts</p>
<p>There are two forms of these; one for positive forward lookahead asserts, and one for negative lookahead asserts:</p>
<p>&#8220;(?=abc)&#8221; matches zero characters only if they are followed by the expression &#8220;abc&#8221;.</p>
<p>&#8220;(?!abc)&#8221; matches zero characters only if they are not followed by the expression &#8220;abc&#8221;.</p>
<p>Word operators</p>
<p>The following operators are provided for compatibility with the GNU regular expression library.</p>
<p>&#8220;\w&#8221; matches any single character that is a member of the &#8220;word&#8221; character class, this is identical to the expression &#8220;[[:word:]]&#8221;.</p>
<p>&#8220;\W&#8221; matches any single character that is not a member of the &#8220;word&#8221; character class, this is identical to the expression &#8220;[^[:word:]]&#8221;.</p>
<p>&#8220;\&lt;&#8221; matches the null string at the start of a word.</p>
<p>&#8220;\&gt;&#8221; matches the null string at the end of the word.</p>
<p>&#8220;\b&#8221; matches the null string at either the start or the end of a word.</p>
<p>&#8220;\B&#8221; matches a null string within a word.</p>
<p>Escape operator</p>
<p>The escape character &#8220;\&#8221; has several meanings.</p>
<p>The escape operator may introduce an operator for example: back references, or a word operator.</p>
<p>The escape operator may make the following character normal, for example &#8220;\*&#8221; represents a literal &#8220;*&#8221; rather than the repeat operator.</p>
<p>Single character escape sequences:</p>
<p>The following escape sequences are aliases for single characters:</p>
<p>Escape sequence Character code Meaning</p>
<p>\a 0&#215;07 Bell character.</p>
<p>\t 0&#215;09 Tab character.</p>
<p>\v 0&#215;0B Vertical tab.</p>
<p>\e 0&#215;1B ASCII Escape character.</p>
<p>\0dd 0dd An octal character code, where dd is one or more octal digits.</p>
<p>\xXX 0xXX A hexadecimal character code, where XX is one or more hexadecimal digits.</p>
<p>\x{XX} 0xXX A hexadecimal character code, where XX is one or more hexadecimal digits, optionally a unicode character.</p>
<p done3="12" done2="12" done0="12">\cZ z-@ An ASCII escape sequence control-Z, where Z is any ASCII character greater than or equal to the character code for <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#37;&#50;&#48;&#64;" target="_blank"><font color="#4eb0e9">&#8216;@&#8217;</font></a>.</p>
<p>Miscellaneous escape sequences:</p>
<p>The following are provided mostly for perl compatibility, but note that there are some differences in the meanings of \l \L \u and \U:</p>
<p>Escape sequence Meaning</p>
<p>\w Equivalent to [[:word:]].</p>
<p>\W Equivalent to [^[:word:]].</p>
<p>\s Equivalent to [[:space:]].</p>
<p>\S Equivalent to [^[:space:]].</p>
<p>\d Equivalent to [[:digit:]].</p>
<p>\D Equivalent to [^[:digit:]].</p>
<p>\l Equivalent to [[:lower:]].</p>
<p>\L Equivalent to [^[:lower:]].</p>
<p>\u Equivalent to [[:upper:]].</p>
<p>\U Equivalent to [^[:upper:]].</p>
<p>\C Any single character, equivalent to &#8216;.&#8217;.</p>
<p>\X Match any Unicode combining character sequence, for example &#8220;a\x 0301&#8243; (a letter a with an acute).</p>
<p>\Q The begin quote operator, everything that follows is treated as a literal character until a \E end quote operator is found.</p>
<p>\E The end quote operator, terminates a sequence begun with \Q.</p>
<p>What gets matched?</p>
<p>The regular expression will match the first possible matching string, if more than one string starting at a given location can match then it matches the longest possible string. In cases where their are multiple possible matches all starting at the same location, and all of the same length, then the match chosen is the one with the longest first sub-expression, if that is the same for two or more matches, then the second sub-expression will be examined and so on. Note that ISAPI_Rewrite uses MATCH algorithm. The result is matched only if the expression matches the whole input sequence. For example:</p>
<p>RewriteCond URL ^/somedir/.* #will match any request to somedir directory and subdirectories, while</p>
<p>RewriteCond URL ^/somedir/ #will match only request to the root of the somedir.</p>
<p>Special note about &#8220;pathological&#8221; regular expressions</p>
<p>ISAPI_Rewrite uses a very powerful regular expressions engine Regex++ written by Dr. John Maddock. But as any real thing it&#8217;s not ideal: There exists some &#8220;pathological&#8221; expressions which may require exponential time for matching; these all involve nested repetition operators, for example attempting to match the expression &#8220;(a*a)*b&#8221; against N letter a&#8217;s requires time proportional to 2N. These expressions can (almost) always be rewritten in such a way as to avoid the problem, for example &#8220;(a*a)*b&#8221; could be rewritten as &#8220;a*b&#8221; which requires only time linearly proportional to N to solve. In the general case, non-nested repeat expressions require time proportional to N2, however if the clauses are mutually exclusive then they can be matched in linear time &#8211; this is the case with &#8220;a*b&#8221;, for each character the matcher will either match an &#8220;a&#8221; or a &#8220;b&#8221; or fail, where as with &#8220;a*a&#8221; the matcher can&#8217;t tell which branch to take (the first &#8220;a&#8221; or the second) and so has to try both.</p>
<p>Boost 1.29.0 Regex++ could detect &#8220;pathological&#8221; regular expressions and terminate theirs matching. When a rule fails ISAPI_Rewrite sends &#8220;500 Internal Server error &#8211; Rule Failed&#8221; status to a client to indicate configuration error. Also the failed rule is disabled to prevent performance losses</p>
<p>Format string syntax</p>
<p>In format strings, all characters are treated as literals except: &#8220;(&#8221;, &#8220;)&#8221;, &#8220;$&#8221;, &#8220;\&#8221;, &#8220;?&#8221;, &#8220;:&#8221;.</p>
<p>To use any of these as literals you must prefix them with the escape character \</p>
<p>The following special sequences are recognized:</p>
<p>Grouping:</p>
<p>Use the parenthesis characters ( and ) to group sub-expressions within the format string, use \( and \) to represent literal &#8216;(&#8217; and &#8216;)&#8217;.</p>
<p>Sub-expression expansions:</p>
<p>The following perl like expressions expand to a particular matched sub-expression:</p>
<p>$` Expands to all the text from the end of the previous match to the start of the current match, if there was no previous match in the current operation, then everything from the start of the input string to the start of the match.</p>
<p>$&#8217; Expands to all the text from the end of the match to the end of the input string.</p>
<p>$&amp; Expands to all of the current match.</p>
<p>$0 Expands to all of the current match.</p>
<p>$N Expands to the text that matched sub-expression N.</p>
<p>Conditional expressions:</p>
<p>Conditional expressions allow two different format strings to be selected dependent upon whether a sub-expression participated in the match or not:</p>
<p>?Ntrue_expression:false_expression</p>
<p>Executes true_expression if sub-expression N participated in the match, otherwise executes false_expression.</p>
<p>Example: suppose we search for &#8220;(while)|(for)&#8221; then the format string &#8220;?1WHILE:FOR&#8221; would output what matched, but in upper case</p>
<p>Escape sequences:</p>
<p>The following escape sequences are also allowed:</p>
<p>\a The bell character.</p>
<p>\f The form feed character.</p>
<p>\n The newline character.</p>
<p>\r The carriage return character.</p>
<p>\t The tab character.</p>
<p>\v A vertical tab character.</p>
<p>\x A hexadecimal character &#8211; for example \x0D.</p>
<p>\x{} A possible unicode hexadecimal character &#8211; for example \x{1A0}</p>
<p>\cx The ASCII escape character x, for example \c@ is equivalent to escape-@.</p>
<p>\e The ASCII escape character.</p>
<p>\dd An octal character constant, for example \10</p>
<p>Examples例子</p>
<p>Emulating host-header-based virtual sites on a single site</p>
<p done3="13" done2="13" done0="13">例如你在两个域名注册<a href="http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/www.gongluela.com" target="_blank"><font color="#4eb0e9">www.gongluela.com</font></a> 和 <a href="http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/www.jiamengku.com" target="_blank"><font color="#4eb0e9">www.jiamengku.com</font></a>，现在你可以创建两个不同的站点而使用单一的物理站点。把以下规则加入到你的httpd.ini 文件</p>
<p>[ISAPI_Rewrite]</p>
<p>#Fix missing slash char on folders</p>
<p>RewriteCond Host: (.*)</p>
<p>RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]</p>
<p>#Emulate site1</p>
<p>RewriteCond Host: (?:www\.)?site1\.com</p>
<p>RewriteRule (.*) /site1$1 [I,L]</p>
<p>#Emulate site2</p>
<p>RewriteCond Host: (?:www\.)?site2\.com</p>
<p>RewriteRule (.*) /site2$1 [I,L]</p>
<p>现在你可以把你的站点放在/site1 和 /site2 目录中.</p>
<p>或者你可以应用更多的类规则：</p>
<p>[ISAPI_Rewrite]</p>
<p>#Fix missing slash char on folders</p>
<p>RewriteCond Host: (.*)</p>
<p>RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,R]</p>
<p>RewriteCond Host: (www\.)?(.+)</p>
<p>RewriteRule (.*) /$2$3</p>
<p>为站点应该命名目录为 /somesite1.com, /somesite2.info, etc.</p>
<p>Using loops (Next flag) to convert request parameters</p>
<p done3="15" done2="15" done0="15">假如你希望有物理URL如 <a href="http://www.myhost.com/foo.asp?a=A&amp;b=B&amp;c=C" target="_blank"><font color="#4eb0e9">http://www.myhost.com/foo.asp?a=A&amp;b=B&amp;c=C</font></a> 使用请求如 <a href="http://www.myhost.com/foo.asp/a/A/b/B/c/C" target="_blank"><font color="#4eb0e9">http://www.myhost.com/foo.asp/a/A/b/B/c/C</font></a> 参数数量可以从两个请求之间变化</p>
<p>至少有两个解决办法。你可以简单的为每一可能的参数数量添加一个分隔规则或者你可以使用一个技术说明如下面的例子</p>
<p>ISAPI_Rewrite]</p>
<p>RewriteRule (.*?\.asp)(\?[^/]*)?/([^/]*)/([^/]*)(.*) $1(?2$2&amp;:\?)$3=$4$5 [NS,I]</p>
<p>这个规则将从请求的URL中抽取一个参数追加在请求字符的末尾并且从头重启规则进程。所以它将循环直到所有参数被移动到适当的位置，或者直到超过RepeatLimit</p>
<p done3="17" done2="17" done0="17">也存在许多这个规则的变种。但使用不同的分隔字符，例如。使用URLS如<a href="http://www.myhost.com/foo.asp~a~A~b~B~c~C" target="_blank"><font color="#4eb0e9">http://www.myhost.com/foo.asp~a~A~b~B~c~C</font></a> 可以应中下面的规则：</p>
<p>ISAPI_Rewrite]</p>
<p>RewriteRule (.*?\.asp)(\?[^~]*)?~([^~]*)~([^~]*)(.*) $1(?2$2&amp;:\?)$3=$4$5 [NS,I]</p>
<p>Running servers behind IIS</p>
<p done3="18" done2="18" done0="18">假如我们有一个内网服务器运行IIS而几个公司服务器运行其他平台，这些服务器不能从INTERNET直接进入，而只能从我们公司的网络进入，有一个简单的例子可以使用代理标记映射其他服务器到<a href="http://www.imfeng.com/tag/iis/" target="_blank"><font color="#4eb0e9">IIS</font></a>命名空间：</p>
<p>[ISAPI_Rewrite]</p>
<p>RewriteProxy /mappoint(.+) http\://sitedomain$1 [I,U]</p>
<p>Moving sites from UNIX to IIS</p>
<p>这个规则可以帮助你把URL从 /~username 改变到 /username 和从 /file.html 改变到 /file.htm. 这个在你仅仅把你的站从UNIX移动到IIS并且保持搜索引擎和其他外部页面对老页面的连接时是有用的</p>
<p>[ISAPI_Rewrite]</p>
<p>#redirecting to update old links</p>
<p>RewriteRule (.*)\.html $1.htm</p>
<p>RewriteRule /~(.*) http\://myserver/$1 [R]</p>
<p>Moving site location</p>
<p done3="19" done2="19" done0="19">许多网管问这样的问题：他们要重定向所有的请求到一个新的网络服务器，当你需要建立一个更新的站点取代老的的时候经常出现这样的问题，解决方案是用<a href="http://www.imfeng.com/iis-rewrite-rules-collect-isapi-rewrite/" target="_blank"><font color="#4eb0e9">ISAPI_Rewrite </font></a>于老服务器中</p>
<p>[ISAPI_Rewrite]</p>
<p>#redirecting to update old links</p>
<p>RewriteRule (.+) http\://newwebserver$1 [R]</p>
<p>Browser-dependent content</p>
<p>Dynamically generated robots.txt</p>
<p>robots.txt是一个搜索引擎用来发现能不能被索引的文件，但是为一个大站创建一个有许多动态内容的这个文件是很复杂的工作，我们可以写一个robots.asp script</p>
<p>现在使用单一规则生成 robots.txt</p>
<p>[ISAPI_Rewrite]</p>
<p>RewriteRule /robots\.txt /robots.asp</p>
<p>Making search engines to index dynamic pages</p>
<p>站点的内容存储在XML文件中，在服务器上有一个/XMLProcess.asp 文件处理XML文件并返回HTML到最终用户，URLS到文档有如下形式</p>
<p done3="20" done2="20" done0="20"><a href="http://www.mysite.com/XMLProcess.asp?xml=/somdir/somedoc.xml" target="_blank"><font color="#4eb0e9">http://www.mysite.com/XMLProcess.asp?xml=/somdir/somedoc.xml</font></a></p>
<p>但是许多公共引擎不能索引此类文档，因为URLS包含问号（文档动态生成），</p>
<p>ISAPI_Rewrite可以完全消除这个问题</p>
<p>[ISAPI_Rewrite]</p>
<p>RewriteRule /doc(.*)\.htm /XMLProcess.asp\?xml=$1.xml</p>
<p done3="21" done2="21" done0="21">现在使用如同<a href="http://www.mysite.com/doc/somedir/somedoc.htm" target="_blank"><font color="#4eb0e9">http://www.mysite.com/doc/somedir/somedoc.htm</font></a>的URL进入文档，搜索引擎将不知道不是somedoc.htm 文件并且内容是动态生成的</p>
<p>Negative expressions (NOT</p>
<p>有时当模式不匹配你需要应用规则，这种情况下你可以使用在规则表达式中称为Forward Lookahead Asserts</p>
<p>例如你需要不使用IE把所有用户移动到别的地点</p>
<p>[ISAPI_Rewrite]</p>
<p># Redirect all non Internet Explorer users</p>
<p># to another location</p>
<p>RewriteCond User-Agent: (?!.*MSIE).*</p>
<p>RewriteRule (.*) /nonie$1</p>
<p>Dynamic authentification</p>
<p>例如我们在站点上有一些成员域，我们在这个域上需要密码保护文件而我们不喜欢用BUILT-IN服务器安全，这个情况下可以建立一个ASP脚本（称为proxy.asp），这个脚本将代理所有请求到成员域并且检查请求允许，这里有一个简单的模板你可以放进你自己的授权代码</p>
<p>现在我们要通过配置 ISAPI_Rewrite 通过这个页面代理请求:</p>
<p>[ISAPI_Rewrite]</p>
<p># Proxy all requests through proxy.asp</p>
<p>RewriteRule /members(.+) /proxy.asp\?http\://mysite.com/members$1</p>
<p>保护图片 防止盗链<br />Blocking inline-images (stop hot linking</p>
<p>假设我们在http://www.mysite.com/下有些页面调用一些GIF、jpg、png图片，不允许别人盗链引用到他们自己的页面上，因为这样大大增加了服务器流量。<br />当然我们不能100%保护图片，但我们至少可以在得到浏览器发出的HTTP Referer header的地方限制这种情况，因为这个可以判断是否我们自己的站点调用了我们自己的图片。</p>
<p>[ISAPI_Rewrite]</p>
<p>RewriteCond Host: (.+)</p>
<p>RewriteCond Referer: (?!http://\1.*).*</p>
<p>RewriteRule .*\.(?:gif|jpg|png) /block.gif [I,O]</p>
<p done3="22" done2="22" done0="22"><span style="color: #ff0000" done3="22" done2="22" done0="22">注：ISAPI_Rewrite分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.精简版下载地址:<a href="http://www.helicontech.com/download/" target="_blank"><font color="#4eb0e9">http://www.helicontech.com/download/</font></a>,就是那Lite Version (free)啦。</span></p><img src="aggbug/1663132.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/fengzi520/archive/2010/02/04/1663132.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/fengzi520/archive/2010/02/04/1663132.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>PPT：ASP.NET AJAX 性能优化</title><link>http://www.cnblogs.com/blodfox777/archive/2010/01/29/aspnet-ajax-performance-improvement.html</link><dc:creator>LanceZhang</dc:creator><author>LanceZhang</author><pubDate>Fri, 29 Jan 2010 03:04:00 GMT</pubDate><guid>http://www.cnblogs.com/blodfox777/archive/2010/01/29/aspnet-ajax-performance-improvement.html</guid><description><![CDATA[<p>阅读: 1369 评论: 5 作者: <a href="" target="_blank">LanceZhang</a> 发表于 2010-01-29 11:04 <a href="http://www.cnblogs.com/blodfox777/archive/2010/01/29/aspnet-ajax-performance-improvement.html" target="_blank">原文链接</a></p><p>这篇PPT是我在微软做ASP.NET AJAX技术支持时所作的，参加了Microsoft GCR CSS 的 Ready to show Presentation并获胜拿到了100元奖金，今天把源文件从MOSS上找了出来，共享给大家。</p>
<p>不正之处还望大家多多批评斧正，谢谢！</p>
<p>&nbsp;</p><hr /><p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; ">&nbsp;在线预览版：</p><div id="__ss_2028697" style="width: 425px; text-align: left; "><a target="_blank" href="http://www.slideshare.net/blodfox777/aspnet-ajax-performance-improvement" title="Aspnet Ajax Performance Improvement" style="font: normal normal normal 14px/normal Helvetica, Arial, sans-serif; display: block; margin-top: 12px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; text-decoration: underline; ">Aspnet Ajax Performance Improvement</a><object style="margin:0px" width="425" height="355">
<param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aspnetajaxperformanceimprovement-090920232623-phpapp01&stripped_title=aspnet-ajax-performance-improvement" />
<param name="allowFullScreen" value="true"/>
<param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aspnetajaxperformanceimprovement-090920232623-phpapp01&stripped_title=aspnet-ajax-performance-improvement" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size: 11px; font-family: tahoma, arial; height: 26px; padding-top: 2px; ">View more&nbsp;<a href="http://www.slideshare.net/" target="_blank" style="text-decoration: underline; ">presentations</a>&nbsp;from&nbsp;<a href="http://www.slideshare.net/blodfox777" target="_blank" style="text-decoration: underline; ">Lance Zhang</a>.</div></div>
<hr />
<p>&nbsp;由于使用了大量动画，且每张Slider都附有英文备注，建议<a href="http://files.cnblogs.com/blodfox777/ASPNET_AJAX%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96.pptx" target="_blank">猛击此地下载PPTX</a></p>
<p><br /></p><div style="width:425px;text-align:left" id="__ss_2028697">
</div><img src="aggbug/1659060.html?type=0" width="1" height="1" alt=""/><p>评论: 5　<a href="http://www.cnblogs.com/blodfox777/archive/2010/01/29/aspnet-ajax-performance-improvement.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/blodfox777/archive/2010/01/29/aspnet-ajax-performance-improvement.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>2010年云计算十大发展趋势 价格继续下降</title><link>http://www.cnblogs.com/fengzi520/archive/2010/01/16/1648930.html</link><dc:creator>枫子52011</dc:creator><author>枫子52011</author><pubDate>Fri, 15 Jan 2010 19:16:00 GMT</pubDate><guid>http://www.cnblogs.com/fengzi520/archive/2010/01/16/1648930.html</guid><description><![CDATA[<p>阅读: 216 评论: 0 作者: <a href="" target="_blank">枫子52011</a> 发表于 2010-01-16 03:16 <a href="http://www.cnblogs.com/fengzi520/archive/2010/01/16/1648930.html" target="_blank">原文链接</a></p><span class="a14c" id="zoom">&nbsp; 
<p style="text-indent: 2em">云计算目前正在稳定而缓慢向企业进军，其主要是作为测试和研发环境以及作为一些不重要的应用和服务的平台。不过，<a href="http://www.cnblogs.com/fengzi520/articles/1648928.html" target="_blank">这篇文章</a>云计算厂商正在努力扩大战果，让其作为重要商业应用的平台。为此，他们已经解决标准和安全问题，提高服务等级协议，鼓励厂商认同基于软件使用的定价原则。 
<p style="text-indent: 2em">基于以上的背景，2010年将有更多的企业开始应用云计算，以下是2010年云计算的十大趋势。 
<p style="text-indent: 2em"><ccid_nobr><strong>商品云价格将继续降价</strong><br /></ccid_nobr>
<p style="text-indent: 2em">在今年11月份，亚马逊EC2降价15%。一个小型标准化基于Linux的云计算服务费用由原来的每小时10美分降价为8.5美元。同样在11月份，谷歌将其Picasa照片存储价格费用由一年20美元降价至一年5美元。基于云的应用也纷纷开始降价。微软的Business Productivity Online Suite(企业网络服务套装)的收费标准由每用户每月15美元下调至了10美元。不过，谷歌的Apps Premier Edition的收费标准仍然保持在一年50美元。Web服务咨询公司Roundarch的首席执行官Jeff Maling表示：&#8220;云计算的费用正在下降。为了让云计算得到大规模应用，云计算厂商已经开始大幅降价。&#8221; 
<p style="text-indent: 2em"><ccid_nobr><strong>将采用更为简单的云计算定价模式</strong><br /></ccid_nobr>
<p style="text-indent: 2em">由于供应商开始提供更多的选择和服务，定价模式正变得越来越复杂。以亚马逊为例(<a href="http://www.yjslc.cn/" target="_blank">http://www.yjslc.cn/</a>)，它们有一个计算机专门用来评估带宽传输、负载平衡和弹性IP的成本。2010年，越来越我的云计算服务供应商可能会采用&#8220;自助餐定价模式&#8221;。IT服务与咨询公司CSS的远程基础设施管理副总裁Ahmar Abbas称：&#8220;在自助餐定价模式中，用户将通过合同为一系列服务进行包时。&#8221; 
<p style="text-indent: 2em"><ccid_nobr><strong>企业应用厂商将采用计量计费模式</strong><br /></ccid_nobr>
<p style="text-indent: 2em">这一点或许无法在2010年实现，原因在于很难让应用厂商放弃先前的诸如席位或设置单独用户的访问权限的许可证和营收模式转而支持计量计费模式。尽管如此，基于使用的计量计费模式将会对诸如Accelera Solutions等公司带来帮助。Accelera公司总裁Joe Brown表示，Falls Church公司已经为此推出了大量的软件工具，这些工具用于不同的许可证配置方案，基本设置统一收费为每月25美元。他相信，厂商会适应这种计费模式。 
<p style="text-indent: 2em">Brown称：&#8220;他们都已经意识到云计算将促进他们的业务发展。&#8221;支持计量计费模式的行业观察人士相信，这一模式还将会促进测量使用量的技术进行提高，或许明年可能会取得一定的成绩。不过目前，云计算提供商需要与客户进行谈判。 
<p style="text-indent: 2em"><ccid_nobr><strong>云提供商将逐渐提供企业级SLA</strong><br /></ccid_nobr>
<p style="text-indent: 2em">99.9%和100%的正常运行对于云计算厂商来说就意味着市场。正常运行保证并不意味着云计算提供商有能力达到重要业务的需求。性能监测公司Lexington的首席技术官Imad Mouline表示，客户希望知道云计算厂商将否快速的将他们在美国东海岸做的东西传递到美国西海岸。他们的网络连接状况好的什么程度?Mouline称：&#8220;IT经理人希望他们与云计算提供商签订服务等级协议(SLA)能够让他们在晚上睡的安稳。否则，云计算只是一个好看而不中用的小沙盒。&#8221;换句话说，云计算主要是作为应用测试和研发的平台。 
<p style="text-indent: 2em"><ccid_nobr><strong>新技术将提高云计算的使用和性能</strong><br /></ccid_nobr>
<p style="text-indent: 2em">Riverbed技术公司正在将硬件工具与虚拟系统相结合提供核心服务。该公司计划在2010年的某一个时间推出该产品。这一趋势将吸引第三方为云环境改变数据中心技术，其中包括减少板载成本的工作或将应用移植到云上的工具。 </p></span><img src="aggbug/1648930.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/fengzi520/archive/2010/01/16/1648930.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/fengzi520/archive/2010/01/16/1648930.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>常用第三方开源上传组件总结</title><link>http://www.cnblogs.com/chenkai/archive/2010/01/01/1637519.html</link><dc:creator>chenkai</dc:creator><author>chenkai</author><pubDate>Fri, 01 Jan 2010 11:39:00 GMT</pubDate><guid>http://www.cnblogs.com/chenkai/archive/2010/01/01/1637519.html</guid><description><![CDATA[<p>阅读: 751 评论: 4 作者: <a href="" target="_blank">chenkai</a> 发表于 2010-01-01 19:39 <a href="http://www.cnblogs.com/chenkai/archive/2010/01/01/1637519.html" target="_blank">原文链接</a></p><p>今天是元旦,首先预祝各位新年快乐,本来这篇文章应该写在09年最后一天的晚上，昨天临时停电,只能写在新年的第一天,岁末有待年初,新的一年总有新气象,最近看到园子首页上 不少人写了09年的总结, 有收获 有得失 有新的一年期待等等. 这篇文章我觉得应该找个时间补上.最近一直在忙一些琐事,毕竟是年底 好像什么事都堆过来了,silverlight技术论坛上线在加上上周一直在看SharedCache共享缓存解决方案等.占用了我不少时间.最后相向博客园抱怨一下:本来这篇文章快写完了 排版费了很大功夫 可惜一段电 什么都没有了, 刚上来 真是恼火,一个下午时间久这样白白的浪费了, 如果有类似网易博客和腾讯那样间隔10秒自动保存功能,我相信不用费这么大功夫发这篇文章. 所以建议博客园团队在改版前台同时,能够在改善一下这个功能. 我相信其他圈友人也碰到同样情况,确实很大耽误时间. 浪费大众精力啊.......</p>
<p>貌似跑题了.转入正题.文件上传是非常老的话题,网上关于文件上传讨论更是多得令人"呕吐"的程度. <span style="color: #800000">声明: 本片文章非专注于上传原理讲解和实现, 只提供网上和我个人手机国外的第三方开源组件 供各位下载学习研究.</span><span>废话太多 说正事：</span></p>
<p><span>(1)<font color="#fe6925"><strong><a href="http://www.uploadify.com/" target="_blank"><font color="#fe6925"><strong>Uploadify &#8211; Multiple File Upload Plugin with jQuery and Flash</strong></font></a></strong></font></span></p>
<p><span>Uploadify 一多文件上传组件，支持自定义按钮，基于Jquery,Flash.在IE7,FF3,Safari 3 和 Opera 9测试通过.原理是一个JQuery插件 截图:</span></p>
<p><span><img border="0" alt="" src="http://i3.6.cn/cvbnm/d3/e6/32/e0c85dfbfbcc5687dbd6071b56df4a1a.png" /></span></p>
<p><span><strong><a href="http://www.uploadify.com/demo/" target="_blank"><span><strong>在线DEMO</strong></span></a>&nbsp;&nbsp; </strong></span></p>
<p><span><strong><a href="http://www.uploadify.com/" target="_blank"><span><strong>下载地址</strong></span></a></strong></span></p>
<p><span>(2)<font color="#fe6925"><strong><a href="http://www.swfupload.org/" target="_blank"><font color="#fe6925"><strong>SWFUpload v2.2.0 Beta 5 Released</strong></font></a></strong></font></span></p>
<p><span><font color="#fe6925"><strong><img border="0" alt="" src="http://i3.6.cn/cvbnm/c1/fa/87/d18675edd4757670fb86de297a6501f9.gif" /></strong></font></span><span>SWF这个比较常用,我再IT198社区上做了一个投票显示SWF主要用于社区和SNS交友类站点较多.</span></p>
<p><span><img border="0" alt="" src="http://i3.6.cn/cvbnm/bd/5b/10/61a4ce195cba239c48eb1cc87c9a222c.jpg" /></span></p>
<p><span><strong><a href="http://demo.swfupload.org/v220/" target="_blank"><span><strong>在线DEMO</strong></span></a></strong></span></p>
<p><span><strong><a href="http://code.google.com/p/swfupload/" target="_blank"><span><strong>下载地址</strong></span></a></strong></span></p>
<p><span>(3)<font color="#fe6925"><strong><a href="http://www.codeproject.com/KB/aspnet/FlashUpload.aspx" target="_blank"><font color="#fe6925"><strong>Multiple File Upload With Progress Bar Using Flash and ASP.NET</strong></font></a></strong></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000">这个版本用C#语言同时基于Asp.net平台创建的,用Flash和ASP.NET(C#)做的多文件上传工具，支持文件多选，自定义上传单个文件大小和总数限制。(附全部源码)因为我在研究其他版本的文件上传源码时是都是基于PHp居多或是Asp等等,看起来没有这个直接,逻辑更清楚.这个在Codeproject可以成为一个小经典案例. 值得你停下来研究一下: 截图如下:</span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://www.codeproject.com/KB/aspnet/FlashUpload/FlashUpload1.gif" /></span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://www.codeproject.com/KB/aspnet/FlashUpload/FlashUpload2.gif" /></span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000"><a href="http://www.codeproject.com/KB/aspnet/FlashUpload.aspx" target="_blank"><span><font color="#fe6925"><span style="color: #008080"><strong>详解DEMO</strong></span></font></span></a></span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000">(4)<font color="#fe6925"><strong><a href="http://uber-uploader.sourceforge.net/" target="_blank"><font color="#fe6925"><strong>Uber-Uploader</strong></font></a></strong></font></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">上传截图如下:</span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://uber-uploader.sourceforge.net/images/loader.gif" /></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><a href="http://uber-uploader.sourceforge.net/" target="_blank"><span style="color: #000000"><font color="#fe6925"><span style="color: #008080"><strong>HomePage(主页)</strong></span></font></span></a></span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000"><strong><a href="http://sourceforge.net/projects/uber-uploader/files/" target="_blank"><span><font color="#fe6925"><span style="color: #008080"><strong>在线DEMO</strong></span></font></span></a></strong></span></font></span></p>
<p><span><font color="#fe6925"><span style="color: #000000">(5)<font color="#fe6925"><strong><a href="http://www.sibsoft.net/xupload.html" target="_blank"><span><font color="#fe6925"><span style="color: #000000"><font color="#fe6925"><strong>XUpload &#8211; upload progress bar</strong></font></span></font></span></a></strong></font></span></font></span><span style="color: #000000"><font color="#fe6925"><strong></strong></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><strong>Xuplod</strong><span style="color: #000000">主要特点是自定义动态的上传文件的进度条 模式. 上传截图如下:</span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://www.sibsoft.net/images/scrn-xupload-tiny.gif" /></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://www.sibsoft.net/images/scrn-xupload-pro-7.png" /></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><a href="http://www.sibsoft.net/xupload.html" target="_blank"><span style="color: #000000"><font color="#fe6925"><span style="color: #008080"><strong>在线DEMO</strong></span></font></span></a></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">(6)<a href="http://digitarald.de/project/fancyupload/2-0/showcase/photoqueue/" target="_blank"><font color="#fe6925"><strong>Fancy Upload</strong></font></a></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">实现简单 上传效果快 容易嵌套在页面中 少量引用.上传截图:</span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><img border="0" alt="" src="http://i3.6.cn/cvbnm/69/f6/f1/a5d89b416eec8680f2f32087d6090a41.jpg" /></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><strong><a href="http://digitarald.de/project/fancyupload/2-0/showcase/photoqueue/" target="_blank"><span style="color: #000000"><font color="#fe6925"><span style="color: #008080"><strong>HomePage(主页)</strong></span></font></span></a></strong></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">(7)</span><strong><span style="color: #ff6600"><a href="http://www.mediachase.com/" target="_blank"><strong><span style="color: #ff6600">MediaChase&#8212;&#8212;(</span><span style="color: #000000">大文件上传解决方案</span></strong></a>)</span></strong></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><strong><span style="color: #ff6600"><img border="0" alt="" src="http://www.mediachase.com/mastertemplates/mediachase/theme/images/imagesV2/fup_main.jpg" /></span></strong></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">Mediachase FileUploader.NET - 2.0版主要基于大文件上传的组件，同时也为新技术的。NET框架2.0/3.0功率文件上传，主要特点如下:</span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">A:引人入胜的用户体验 </span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">B:强大的技术没有页面上传文件重新加载 </span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">C:即时反馈给用户所显示的进展情况 </span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">D:简化应用集成和发展 </span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">E:智能优化大文件上传 都有源码下载 基于.NET平台版本的.</span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><strong><a href="http://www.mediachase.com/fuploader/overview.aspx" target="_blank"><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><strong>HomePage(主页)</strong>&nbsp;</span></font></span></a>&nbsp; </strong></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><strong><a href="http://demo.mediachase.com/fileuploader2/samples/folderview/default.aspx" target="_blank"><span style="color: #000000"><font color="#fe6925"><span style="color: #000000"><strong>在线DEMO</strong></span></font></span></a></strong></span></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">(8)</span><span style="color: #ff6600"><a href="http://www.brettle.com/neatupload" target="_blank"><span style="color: #ff6600"><strong>NeatUpload</strong></span></a></span><span style="color: #000000">-(<strong>大文件上传解决方案)</strong></p></span><span style="color: #000000">
<p><span style="color: #000000">本地上传截图如下: 具体参考官方说明</span></p>
<p><span style="color: #000000"><img border="0" alt="" src="http://i3.6.cn/cvbnm/9b/19/8c/2a84172fe829ac0afb8ffb84a564ee18.jpg" /></span></p>
<p><span style="color: #000000"><strong><a href="http://www.brettle.com/neatupload" target="_blank"><span style="color: #000000"><strong>HomePage(主页)</strong></span></a></strong></span></p>
<p><span style="color: #000000">(9)<font color="#fe6925"><strong>Free Silverlight Multi File Uploader</strong></font></span></p>
<p><span style="color: #000000"><font color="#fe6925"><span style="color: #000000">基于Silverlight文件上传 Silverlight 多文件上传工具，支持大文件上传，同时支持PHP，效果相当不错&nbsp;附带源码中有详细说明解释本地截图如下:</span></font></span></p>
<p><span style="color: #000000"><img border="0" alt="" src="http://www.codeindex.cn/wp-content/uploads/2009/01/slmup.jpg" /></span></p></span><span style="color: #000000"><font color="#fe6925"><span style="color: #ff6600">
<p></span><span style="color: #ff6600">
<p><strong><a href="http://www.michielpost.nl/Silverlight/MultiFileUploader/" target="_blank"><strong>&nbsp;LiveDEMO</strong></a></strong></p>
<p><strong><a href="http://www.michielpost.nl/Silverlight/MultiFileUploader/" target="_blank"><strong>Homepage(主页)</strong></a></strong></span></font></span></font></span></p>  <img src="aggbug/1637519.html?type=0" width="1" height="1" alt=""/><p>评论: 4　<a href="http://www.cnblogs.com/chenkai/archive/2010/01/01/1637519.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/chenkai/archive/2010/01/01/1637519.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>How to show the Detailed Value for the associated Hovered Row of the GridView by using the HoverMenuExtender?</title><link>http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/18/1627361.html</link><dc:creator>Zhi-Qiang Ni</dc:creator><author>Zhi-Qiang Ni</author><pubDate>Fri, 18 Dec 2009 09:56:00 GMT</pubDate><guid>http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/18/1627361.html</guid><description><![CDATA[<p>阅读: 317 评论: 3 作者: <a href="" target="_blank">Zhi-Qiang Ni</a> 发表于 2009-12-18 17:56 <a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/18/1627361.html" target="_blank">原文链接</a></p><p>In one scenario, there are two GridViews with the Main Data and Detailed Data. The Customer would like to show the Detailed Value for the associated Hovered Row by using the HoverMenuExtender.</p>
<p>To achieve this goal, we need to access the Hovered Row&#8217;s information and then sent them to the PopupMenu. But the HoverMenu is only a client side control which cannot fire any service event to access the value. So, I need to handle the GridView Row&#8217;s onmouseover event to get the hovered information and then call the web service method to build a new DataTable with the hovered key. Then, in the success call back function, fill a PopupMenu with the returned value.</p>
<p>Please follow these steps:</p>
<p>1.Build a new application which contains a GridView. Bind the GridView with a SqlDataSource whose DataFields are ID, User, Category.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('96584890-4090-48ed-9155-16d8f864e2aa')"><img id="code_img_closed_96584890-4090-48ed-9155-16d8f864e2aa" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_96584890-4090-48ed-9155-16d8f864e2aa" class="code_img_opened" onclick="cnblogs_code_hide('96584890-4090-48ed-9155-16d8f864e2aa',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_96584890-4090-48ed-9155-16d8f864e2aa" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:GridView&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="GridView1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;AutoGenerateColumns</span><span style="color: #0000ff">="False"</span><span style="color: #ff0000">&nbsp;DataKeyNames</span><span style="color: #0000ff">="ID"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;DataSourceID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;BackColor</span><span style="color: #0000ff">="Azure"</span><span style="color: #ff0000">&nbsp;Width</span><span style="color: #0000ff">="500px"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Panel&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Panel1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;onmouseover</span><span style="color: #0000ff">="mouseOverHandler(this);"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">table&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="100%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">Font-Bold</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="Label1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("ID")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="50%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label2"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("USER")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label3"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">Eval("CATEGORY")&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Panel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:GridView</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:SqlDataSource&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;ConnectionString</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString&nbsp;%&gt;"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;ProviderName</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString.ProviderName&nbsp;%&gt;"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SelectCommand</span><span style="color: #0000ff">="SELECT&nbsp;[ID],&nbsp;[USER],&nbsp;[CATEGORY]&nbsp;FROM&nbsp;[MASTER]"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">asp:SqlDataSource</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:GridView&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="GridView1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;AutoGenerateColumns</span><span style="color: #0000ff">="False"</span><span style="color: #ff0000">&nbsp;DataKeyNames</span><span style="color: #0000ff">="ID"</span><span style="color: #ff0000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataSourceID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;BackColor</span><span style="color: #0000ff">="Azure"</span><span style="color: #ff0000">&nbsp;Width</span><span style="color: #0000ff">="500px"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Panel&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Panel1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;onmouseover</span><span style="color: #0000ff">="mouseOverHandler(this);"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">table&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="100%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">Font-Bold</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="Label1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("ID")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="50%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label2"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("USER")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label3"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">Eval("CATEGORY")&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Panel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:GridView</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:SqlDataSource&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;ConnectionString</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString&nbsp;%&gt;"</span><span style="color: #ff0000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProviderName</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString.ProviderName&nbsp;%&gt;"</span><span style="color: #ff0000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SelectCommand</span><span style="color: #0000ff">="SELECT&nbsp;[ID],&nbsp;[USER],&nbsp;[CATEGORY]&nbsp;FROM&nbsp;[MASTER]"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">asp:SqlDataSource</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2.In the GridView&#8217;s ItemTemplate, add a Panel as the target panel. In this Panel, bind three labels with the DataFields</p>
<p>3.Add a DataSet into this application. In the DataSet, add a DataAdapter which has a method &#8220;GetDataByHoverKey&#8221; that returns a DataTable with the &#8220;Category&#8221; parameter. The SQL statement is like this:<br />SELECT CATEGORY, DETAIL, ID FROM DETAIL WHERE (CATEGORY = ?)</p>
<p>4.Add a WebService into this application. Define a WebMethod with the HoverKey parameter and set the returned type as string. In this method, we return a HTML table with the generated DataTable&#8217;s Value.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('8fb9e6e1-9ba5-4d7b-a1dd-e812c8ab24a6')"><img id="code_img_closed_8fb9e6e1-9ba5-4d7b-a1dd-e812c8ab24a6" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_8fb9e6e1-9ba5-4d7b-a1dd-e812c8ab24a6" class="code_img_opened" onclick="cnblogs_code_hide('8fb9e6e1-9ba5-4d7b-a1dd-e812c8ab24a6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_8fb9e6e1-9ba5-4d7b-a1dd-e812c8ab24a6" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services.Protocols&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.ComponentModel&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /></span><span style="color: #008000">'</span><span style="color: #008000">&nbsp;To&nbsp;allow&nbsp;this&nbsp;Web&nbsp;Service&nbsp;to&nbsp;be&nbsp;called&nbsp;from&nbsp;script,&nbsp;using&nbsp;ASP.NET&nbsp;AJAX,&nbsp;uncomment&nbsp;the&nbsp;following&nbsp;line.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Script.Services.ScriptService()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebService(</span><span style="color: #0000ff">Namespace</span><span style="color: #000000">:</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">http://tempuri.org/</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebServiceBinding(ConformsTo:</span><span style="color: #000000">=</span><span style="color: #000000">WsiProfiles.BasicProfile1_1)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">ToolboxItem(</span><span style="color: #0000ff">False</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Class</span><span style="color: #000000">&nbsp;HoverMenuService&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Inherits</span><span style="color: #000000">&nbsp;System.Web.Services.WebService&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">WebMethod()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Function</span><span style="color: #000000">&nbsp;GetDataByHoverKey(</span><span style="color: #0000ff">ByVal</span><span style="color: #000000">&nbsp;sHoverKey&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;dt&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1.DETAILDataTable&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;da&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1TableAdapters.DETAILTableAdapter&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;da.GetDataByHoverKey(sHoverKey)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;sb&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;StringBuilder&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;table&nbsp;width='100%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">For</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Each</span><span style="color: #000000">&nbsp;dr&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;DataRow&nbsp;</span><span style="color: #0000ff">In</span><span style="color: #000000">&nbsp;dt.Rows&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">0</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">1</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Next</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/table&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Return</span><span style="color: #000000">&nbsp;sb.ToString&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">End&nbsp;Function</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">End&nbsp;Class</span><span style="color: #000000">&nbsp;&nbsp;<br /><br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services.Protocols<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.ComponentModel<br /><br /></span><span style="color: #008000">'</span><span style="color: #008000">&nbsp;To&nbsp;allow&nbsp;this&nbsp;Web&nbsp;Service&nbsp;to&nbsp;be&nbsp;called&nbsp;from&nbsp;script,&nbsp;using&nbsp;ASP.NET&nbsp;AJAX,&nbsp;uncomment&nbsp;the&nbsp;following&nbsp;line.</span><span style="color: #008000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Script.Services.ScriptService()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebService(</span><span style="color: #0000ff">Namespace</span><span style="color: #000000">:</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">http://tempuri.org/</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebServiceBinding(ConformsTo:</span><span style="color: #000000">=</span><span style="color: #000000">WsiProfiles.BasicProfile1_1)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">ToolboxItem(</span><span style="color: #0000ff">False</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_<br /></span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Class</span><span style="color: #000000">&nbsp;HoverMenuService<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Inherits</span><span style="color: #000000">&nbsp;System.Web.Services.WebService<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">WebMethod()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Function</span><span style="color: #000000">&nbsp;GetDataByHoverKey(</span><span style="color: #0000ff">ByVal</span><span style="color: #000000">&nbsp;sHoverKey&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;dt&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1.DETAILDataTable<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;da&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1TableAdapters.DETAILTableAdapter<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;da.GetDataByHoverKey(sHoverKey)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;sb&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;StringBuilder<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;table&nbsp;width='100%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">For</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Each</span><span style="color: #000000">&nbsp;dr&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;DataRow&nbsp;</span><span style="color: #0000ff">In</span><span style="color: #000000">&nbsp;dt.Rows<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">0</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">1</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Next</span><span style="color: #000000"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/table&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Return</span><span style="color: #000000">&nbsp;sb.ToString<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">End&nbsp;Function</span><span style="color: #000000"><br /></span><span style="color: #0000ff">End&nbsp;Class</span><span style="color: #000000"><br /></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>5.Add a onmouseover event handler for the target Panel. In this handler function, we build a DIV element as the PopupMenu. Set the DIV&#8217;s id by the target&#8217;s ID. Call the WebServie method with the parameter HoverKey and TargetPanel&#8217;s ID. Create a HoverMenuBehavior by the Target Panel and PopupMenu. </p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('a6d964eb-044a-403b-9e8d-9120976e2f3f')"><img id="code_img_closed_a6d964eb-044a-403b-9e8d-9120976e2f3f" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_a6d964eb-044a-403b-9e8d-9120976e2f3f" class="code_img_opened" onclick="cnblogs_code_hide('a6d964eb-044a-403b-9e8d-9120976e2f3f',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_a6d964eb-044a-403b-9e8d-9120976e2f3f" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;mouseOverHandler(e)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;($find(</span><span style="color: #000000">"</span><span style="color: #000000">HoverMenuExtender_</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;e.id))&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;lableID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;e.id.replace(</span><span style="color: #000000">"</span><span style="color: #000000">Panel1</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">Label3</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;hoverKey&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;$get(lableID).innerHTML;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">create&nbsp;a&nbsp;popup&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;popup&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;document.createElement(</span><span style="color: #000000">"</span><span style="color: #000000">div</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;popup.id&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;e.id&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">_popup</span><span style="color: #000000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;popup.className&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">popupMenu</span><span style="color: #000000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;document.body.appendChild(popup);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SoluTes_tHoverMenu.HoverMenuService.GetDataByHoverKey(hoverKey,&nbsp;SucceededCallbackWithContext,&nbsp;FailedCallback,&nbsp;e.id);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;$create(AjaxControlToolkit.HoverMenuBehavior,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">HoverCssClass</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">popupHover</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">PopDelay</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">25</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">PopupPosition</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">4</span><span style="color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">id</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">HoverMenuExtender_</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;e.id,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">popupElement</span><span style="color: #000000">"</span><span style="color: #000000">:&nbsp;popup&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;e);&nbsp;&nbsp;&nbsp;<br />}</span></div></div></div>
<p>&nbsp;</p>
<p><br />6.In the success call back function, fill the corresponding PopupMenu with the returned value.<br /></p>
<div class="cnblogs_code" onclick="cnblogs_code_show('063e4932-a83e-4c0e-8302-c1185659b934')"><img id="code_img_closed_063e4932-a83e-4c0e-8302-c1185659b934" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_063e4932-a83e-4c0e-8302-c1185659b934" class="code_img_opened" onclick="cnblogs_code_hide('063e4932-a83e-4c0e-8302-c1185659b934',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_063e4932-a83e-4c0e-8302-c1185659b934" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;This&nbsp;is&nbsp;the&nbsp;callback&nbsp;function&nbsp;invoked&nbsp;if&nbsp;the&nbsp;Web&nbsp;service&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />//</span><span style="color: #008000">&nbsp;succeeded.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />//</span><span style="color: #008000">&nbsp;It&nbsp;accepts&nbsp;the&nbsp;result&nbsp;object&nbsp;as&nbsp;a&nbsp;parameter.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;SucceededCallbackWithContext(result,&nbsp;userContext,&nbsp;methodName)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;get&nbsp;the&nbsp;corresponding&nbsp;span&nbsp;to&nbsp;display&nbsp;feedback&nbsp;by&nbsp;using&nbsp;the&nbsp;context.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000">&nbsp;popupValue&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;$get(userContext&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">_popup</span><span style="color: #000000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;popupValue.innerHTML&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;result;&nbsp;&nbsp;&nbsp;<br />}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;This&nbsp;is&nbsp;the&nbsp;callback&nbsp;function&nbsp;invoked&nbsp;if&nbsp;the&nbsp;Web&nbsp;service&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />//</span><span style="color: #008000">&nbsp;failed.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br />//</span><span style="color: #008000">&nbsp;It&nbsp;accepts&nbsp;the&nbsp;error&nbsp;object&nbsp;as&nbsp;a&nbsp;parameter.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;FailedCallback(error)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Display&nbsp;the&nbsp;error.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000">"</span><span style="color: #000000">Service&nbsp;Error:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;error.get_message());&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>7.Complete the CssClass and other script references.</p>
<p><br /></p>
<div class="cnblogs_code" onclick="cnblogs_code_show('91206d70-5f73-4c4f-8ca5-e5bf045cb057')"><img id="code_img_closed_91206d70-5f73-4c4f-8ca5-e5bf045cb057" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_91206d70-5f73-4c4f-8ca5-e5bf045cb057" class="code_img_opened" onclick="cnblogs_code_hide('91206d70-5f73-4c4f-8ca5-e5bf045cb057',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_91206d70-5f73-4c4f-8ca5-e5bf045cb057" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000ff">&lt;</span><span style="color: #800000">style&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/css"</span><span style="color: #0000ff">&gt;</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">/*</span><span style="background-color: #f5f5f5; color: #008000">Hover&nbsp;Menu</span><span style="background-color: #f5f5f5; color: #008000">*/</span><span style="background-color: #f5f5f5; color: #800000">.popupMenu&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">{</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;300px</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;absolute</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visibility</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;hidden</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;#F5F7F8</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opacity</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;.9</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;alpha(opacity=90)</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">}</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;.popupHover&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">{</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-image</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;url(images/header-opened.png)</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-repeat</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;repeat-x</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-position</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;left&nbsp;top</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;#F5F7F8</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">}</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">style</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ScriptManager&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="ScriptManager1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Services</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ServiceReference&nbsp;</span><span style="color: #ff0000">Path</span><span style="color: #0000ff">="~/HoverMenuService.asmx"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Services</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Scripts</span><span style="color: #0000ff">&gt;</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.Common.Common.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.ExtenderBase.BaseScripts.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.HoverExtender.HoverBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.HoverMenu.HoverMenuBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.PopupExtender.PopupBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Scripts</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:ScriptManager</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Here is the whole code.</p>
<p>.aspx file</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('7f1dc3ba-f1b1-41b3-b83d-e7be75f7acb3')"><img id="code_img_closed_7f1dc3ba-f1b1-41b3-b83d-e7be75f7acb3" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_7f1dc3ba-f1b1-41b3-b83d-e7be75f7acb3" class="code_img_opened" onclick="cnblogs_code_hide('7f1dc3ba-f1b1-41b3-b83d-e7be75f7acb3',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_7f1dc3ba-f1b1-41b3-b83d-e7be75f7acb3" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">@&nbsp;Page&nbsp;Language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">vb</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;AutoEventWireup</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">false</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;CodeBehind</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">TestHoverMenuWithDetailedData.aspx.vb</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Inherits</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">SoluTes_tHoverMenu.TestHoverMenuWithDetailedData</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="background-color: #f5f5f5; color: #000000">@&nbsp;Register&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Namespace</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;TagPrefix</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #800000">cc1</span><span style="background-color: #f5f5f5; color: #800000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html&nbsp;</span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head&nbsp;</span><span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">style&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/css"</span><span style="color: #0000ff">&gt;</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">/*</span><span style="background-color: #f5f5f5; color: #008000">Hover&nbsp;Menu</span><span style="background-color: #f5f5f5; color: #008000">*/</span><span style="background-color: #f5f5f5; color: #800000">.popupMenu&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">{</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;300px</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;absolute</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;visibility</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;hidden</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;#F5F7F8</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opacity</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;.9</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filter</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;alpha(opacity=90)</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">}</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.popupHover&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">{</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-image</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;url(images/header-opened.png)</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-repeat</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;repeat-x</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-position</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;left&nbsp;top</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span><span style="background-color: #f5f5f5; color: #000000">:</span><span style="background-color: #f5f5f5; color: #0000ff">&nbsp;#F5F7F8</span><span style="background-color: #f5f5f5; color: #000000">;</span><span style="background-color: #f5f5f5; color: #ff0000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">}</span><span style="background-color: #f5f5f5; color: #800000">&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">style</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="form1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ScriptManager&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="ScriptManager1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Services</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ServiceReference&nbsp;</span><span style="color: #ff0000">Path</span><span style="color: #0000ff">="~/HoverMenuService.asmx"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Services</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Scripts</span><span style="color: #0000ff">&gt;</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.Common.Common.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.ExtenderBase.BaseScripts.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.HoverExtender.HoverBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.HoverMenu.HoverMenuBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">&lt;</span><span style="background-color: #f5f5f5; color: #000000">asp:ScriptReference&nbsp;Name</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit.PopupExtender.PopupBehavior.js</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;Assembly</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">AjaxControlToolkit</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">/</span><span style="background-color: #f5f5f5; color: #000000">&gt;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Scripts</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:ScriptManager</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:GridView&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="GridView1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;AutoGenerateColumns</span><span style="color: #0000ff">="False"</span><span style="color: #ff0000">&nbsp;DataKeyNames</span><span style="color: #0000ff">="ID"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataSourceID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;BackColor</span><span style="color: #0000ff">="Azure"</span><span style="color: #ff0000">&nbsp;Width</span><span style="color: #0000ff">="500px"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Panel&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Panel1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;onmouseover</span><span style="color: #0000ff">="mouseOverHandler(this);"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">table&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="100%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">Font-Bold</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="Label1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("ID")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="50%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label2"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">HttpUtility.HtmlEncode(Convert.ToString(Eval("USER")))&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">td&nbsp;</span><span style="color: #ff0000">width</span><span style="color: #0000ff">="25%"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Label&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="Label3"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;Text</span><span style="color: #0000ff">='&lt;%#&nbsp;</span><span style="color: #ff0000">Eval("CATEGORY")&nbsp;%</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">'&nbsp;/&gt;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">td</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">tr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">table</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:Panel</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">ItemTemplate</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:TemplateField</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">Columns</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:GridView</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:SqlDataSource&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="SqlDataSource1"</span><span style="color: #ff0000">&nbsp;runat</span><span style="color: #0000ff">="server"</span><span style="color: #ff0000">&nbsp;ConnectionString</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString&nbsp;%&gt;"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProviderName</span><span style="color: #0000ff">="&lt;%$&nbsp;ConnectionStrings:MasterAndDetailConnectionString.ProviderName&nbsp;%&gt;"</span><span style="color: #ff0000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SelectCommand</span><span style="color: #0000ff">="SELECT&nbsp;[ID],&nbsp;[USER],&nbsp;[CATEGORY]&nbsp;FROM&nbsp;[MASTER]"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">asp:SqlDataSource</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #0000ff">&gt;</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">function</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;pageLoad()&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">function</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;mouseOverHandler(e)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">if</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;($find(</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">HoverMenuExtender_</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;e.id))&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">return</span><span style="background-color: #f5f5f5; color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">var</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;lableID&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;e.id.replace(</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">Panel1</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">Label3</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">var</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;hoverKey&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;$get(lableID).innerHTML;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">create&nbsp;a&nbsp;popup&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">var</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;popup&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;document.createElement(</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">div</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup.id&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;e.id&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">_popup</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popup.className&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">popupMenu</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.body.appendChild(popup);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SoluTes_tHoverMenu.HoverMenuService.GetDataByHoverKey(hoverKey,&nbsp;SucceededCallbackWithContext,&nbsp;FailedCallback,&nbsp;e.id);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$create(AjaxControlToolkit.HoverMenuBehavior,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">HoverCssClass</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">:&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">popupHover</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">PopDelay</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">:&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">25</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">PopupPosition</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">:&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">4</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">id</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">:&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">HoverMenuExtender_</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;e.id,&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">popupElement</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">:&nbsp;popup&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">null</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">null</span><span style="background-color: #f5f5f5; color: #000000">,&nbsp;e);&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;This&nbsp;is&nbsp;the&nbsp;callback&nbsp;function&nbsp;invoked&nbsp;if&nbsp;the&nbsp;Web&nbsp;service&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;succeeded.&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;It&nbsp;accepts&nbsp;the&nbsp;result&nbsp;object&nbsp;as&nbsp;a&nbsp;parameter.&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">function</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;SucceededCallbackWithContext(result,&nbsp;userContext,&nbsp;methodName)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;get&nbsp;the&nbsp;corresponding&nbsp;span&nbsp;to&nbsp;display&nbsp;feedback&nbsp;by&nbsp;using&nbsp;the&nbsp;context.&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">var</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;popupValue&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;$get(userContext&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">_popup</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popupValue.innerHTML&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;result;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;This&nbsp;is&nbsp;the&nbsp;callback&nbsp;function&nbsp;invoked&nbsp;if&nbsp;the&nbsp;Web&nbsp;service&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;failed.&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;It&nbsp;accepts&nbsp;the&nbsp;error&nbsp;object&nbsp;as&nbsp;a&nbsp;parameter.&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #0000ff">function</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;FailedCallback(error)&nbsp;{&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000">//</span><span style="background-color: #f5f5f5; color: #008000">&nbsp;Display&nbsp;the&nbsp;error.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: #f5f5f5; color: #008000"><br /></span><span style="background-color: #f5f5f5; color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">Service&nbsp;Error:&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;</span><span style="background-color: #f5f5f5; color: #000000">+</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;error.get_message());&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>.asmx file</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('a8d2b41b-8384-4665-88e8-1a12e025b6d3')"><img id="code_img_closed_a8d2b41b-8384-4665-88e8-1a12e025b6d3" class="code_img_closed" alt="" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" /><img style="display: none" id="code_img_opened_a8d2b41b-8384-4665-88e8-1a12e025b6d3" class="code_img_opened" onclick="cnblogs_code_hide('a8d2b41b-8384-4665-88e8-1a12e025b6d3',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span> 
<div id="cnblogs_code_open_a8d2b41b-8384-4665-88e8-1a12e025b6d3" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.Web.Services.Protocols&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Imports</span><span style="color: #000000">&nbsp;System.ComponentModel&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br /></span><span style="color: #008000">'</span><span style="color: #008000">&nbsp;To&nbsp;allow&nbsp;this&nbsp;Web&nbsp;Service&nbsp;to&nbsp;be&nbsp;called&nbsp;from&nbsp;script,&nbsp;using&nbsp;ASP.NET&nbsp;AJAX,&nbsp;uncomment&nbsp;the&nbsp;following&nbsp;line.&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Script.Services.ScriptService()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebService(</span><span style="color: #0000ff">Namespace</span><span style="color: #000000">:</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">http://tempuri.org/</span><span style="color: #800000">"</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">System.Web.Services.WebServiceBinding(ConformsTo:</span><span style="color: #000000">=</span><span style="color: #000000">WsiProfiles.BasicProfile1_1)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #000000">&lt;</span><span style="color: #000000">ToolboxItem(</span><span style="color: #0000ff">False</span><span style="color: #000000">)</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Class</span><span style="color: #000000">&nbsp;HoverMenuService&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Inherits</span><span style="color: #000000">&nbsp;System.Web.Services.WebService&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">WebMethod()</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;_&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Function</span><span style="color: #000000">&nbsp;GetDataByHoverKey(</span><span style="color: #0000ff">ByVal</span><span style="color: #000000">&nbsp;sHoverKey&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">String</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;dt&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1.DETAILDataTable&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;da&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;DataSet1TableAdapters.DETAILTableAdapter&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;da.GetDataByHoverKey(sHoverKey)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Dim</span><span style="color: #000000">&nbsp;sb&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">New</span><span style="color: #000000">&nbsp;StringBuilder&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;table&nbsp;width='100%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">For</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">Each</span><span style="color: #000000">&nbsp;dr&nbsp;</span><span style="color: #0000ff">As</span><span style="color: #000000">&nbsp;DataRow&nbsp;</span><span style="color: #0000ff">In</span><span style="color: #000000">&nbsp;dt.Rows&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">0</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;td&nbsp;width='50%'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;span&nbsp;style='font-weight:bold;'&gt;</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;dr.Item(</span><span style="color: #800080">1</span><span style="color: #000000">).ToString()&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/span&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/td&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/tr&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Next</span><span style="color: #000000">&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb.Append(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;/table&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">Return</span><span style="color: #000000">&nbsp;sb.ToString&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">End&nbsp;Function</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #0000ff">End&nbsp;Class</span><span style="color: #000000">&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Have my suggestion helped?</p>
<p>The related thread URL:<a href="http://forums.asp.net/p/1504607/3572417.aspx#3572417" target="_blank">http://forums.asp.net/p/1504607/3572417.aspx#3572417</a></p>
<p>Best regards,</p>
<p>Zhi-Qiang Ni<br /></p><img src="aggbug/1627361.html?type=0" width="1" height="1" alt=""/><p>评论: 3　<a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/18/1627361.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/18/1627361.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>面试逻辑题</title><link>http://www.cnblogs.com/mushroom_lb/archive/2009/12/15/1624677.html</link><dc:creator>MushRoom_lb</dc:creator><author>MushRoom_lb</author><pubDate>Tue, 15 Dec 2009 05:00:00 GMT</pubDate><guid>http://www.cnblogs.com/mushroom_lb/archive/2009/12/15/1624677.html</guid><description><![CDATA[<p>阅读: 648 评论: 0 作者: <a href="" target="_blank">MushRoom_lb</a> 发表于 2009-12-15 13:00 <a href="http://www.cnblogs.com/mushroom_lb/archive/2009/12/15/1624677.html" target="_blank">原文链接</a></p><p>笔试时的一道综合能力测试题，先记住答案吧，到时基本算不出来，时间紧啊，呵呵~</p>
<p>&nbsp;</p>
<p>五个人来自不同地方，住不同房子，养不同动物，吸不同牌子香烟，喝不同饮料，喜欢不同食物。根据以下线索确定谁是养猫的人。<br />1，红房子在蓝房子的右边，白房子的左边（不一定紧邻）<br />2，黄房子的主人来自香港，而且他的房子不在最左边。<br />3，爱吃比萨饼的人住在爱喝矿泉水的人的隔壁。<br />4，来自北京的人爱喝茅台，住在来自上海的人的隔壁。<br />5，吸希尔顿香烟的人住在养马的人?右边隔壁。<br />6，爱喝啤酒的人也爱吃鸡。<br />7，绿房子的人养狗。<br />8，爱吃面条的人住在养蛇的人的隔壁。<br />9，来自天津的人的邻居（紧邻）一个爱吃牛肉，另一个来自成都。<br />10，养鱼的人住在最右边的房子里。<br />11，吸万宝路香烟的人住在吸希尔顿香烟的人和吸&#8220;555&#8221;香烟的人的中间（紧邻）<br />12，红房子的人爱喝茶。<br />13，爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。<br />14，吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁，也不与来自上海的人相邻。<br />15，来自上海的人住在左数第二间房子里。<br />16，爱喝矿泉水的人住在最中间的房子里。<br />17，爱吃面条的人也爱喝葡萄酒。<br />18，吸&#8220;555&#8221;香烟的人比吸希尔顿香烟的人住的靠右</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>参考答案</p>
<p>&nbsp;</p>
<p>&nbsp;</p><pre>从左到右就这样<br />绿房子住着北京人，他喜欢养狗，喝茅台，吸健牌烟，吃豆腐<br />蓝房子住着上海人，他喜欢养马，喝葡萄酒，吸希尔顿烟，吃面条<br />黄房子住着香港人，他喜欢养蛇，喝矿泉水，吸万宝路烟，吃牛肉<br />红房子住着天津人，他喜欢养（猫），喝茶，吸555牌烟，吃比萨<br />的房子住着成都人，他喜欢养鱼，喝啤酒，吸红塔山烟，吃鸡<br />所以养猫的是红房子的天津人</pre>
<p><br />&nbsp;</p><img src="aggbug/1624677.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/mushroom_lb/archive/2009/12/15/1624677.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/mushroom_lb/archive/2009/12/15/1624677.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>How to build CustomControl with AjaxControlToolkit Control?</title><link>http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/08/1619628.html</link><dc:creator>Zhi-Qiang Ni</dc:creator><author>Zhi-Qiang Ni</author><pubDate>Tue, 08 Dec 2009 09:42:00 GMT</pubDate><guid>http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/08/1619628.html</guid><description><![CDATA[<p>阅读: 172 评论: 1 作者: <a href="" target="_blank">Zhi-Qiang Ni</a> 发表于 2009-12-08 17:42 <a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/08/1619628.html" target="_blank">原文链接</a></p><p>There is a requirement: A customer would like to built a Custom CollapsiblePanel control. There are two contents of this control, the Header and the Content, both of them are Panels. His requirement is that we can place any control into the two contents by adding the HTML into the tag directly. The Custom Control also containers an AjaxControlToolkit CollapsiblePanelExtender to achieve the Collapse/Expand function for the Header and Content.</p>
<p>&nbsp;</p>
<p>To achieve your goal, you can follow these steps: </p>
<p>1.&nbsp;We need to build a class which inherits the Panel Class and INamingContainer Interface. This class would be the Header and Content control&#8217;s base class. </p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('65d930b4-03be-49ba-89fa-eb7e82816893')"><img id="code_img_closed_65d930b4-03be-49ba-89fa-eb7e82816893" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_65d930b4-03be-49ba-89fa-eb7e82816893" class="code_img_opened" onclick="cnblogs_code_hide('65d930b4-03be-49ba-89fa-eb7e82816893',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_65d930b4-03be-49ba-89fa-eb7e82816893" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.ComponentModel;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Text;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI.WebControls;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;CustomCollapsiblePanel&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;:&nbsp;Panel,&nbsp;INamingContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">}&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2.&nbsp;In the CustomControl&#8217;s class, we create two properties Header and Content with the ITemplate type. Set the PersistenceModeAttribute with the value &#8220;InnerProperty&#8221;, then the two control would persist as a nested tag in the HTML.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('c374f738-a45a-432f-969c-8f1fe872547c')"><img id="code_img_closed_c374f738-a45a-432f-969c-8f1fe872547c" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_c374f738-a45a-432f-969c-8f1fe872547c" class="code_img_opened" onclick="cnblogs_code_hide('c374f738-a45a-432f-969c-8f1fe872547c',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_c374f738-a45a-432f-969c-8f1fe872547c" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">[DefaultValue(</span><span style="color: #0000ff">null</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CollapisblePanel&nbsp;Header</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">[PersistenceMode(PersistenceMode.InnerProperty)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">[TemplateContainer(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(CCPContainer))]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">[TemplateInstance(TemplateInstance.Single)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;ITemplate&nbsp;Header&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_headerTemplate;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;{&nbsp;_headerTemplate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">[DefaultValue(</span><span style="color: #0000ff">null</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CollapisblePanel&nbsp;Content</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">[PersistenceMode(PersistenceMode.InnerProperty)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">[TemplateContainer(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(CCPContainer))]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">[TemplateInstance(TemplateInstance.Single)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;ITemplate&nbsp;Content&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_contentTemplate;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;{&nbsp;_contentTemplate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;<br /></span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000"></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>3.&nbsp;Create the Header Container and Content Container instance properties which are used to added into the CustomControl.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('7189891b-e089-497f-9764-bdada1bd398c')"><img id="code_img_closed_7189891b-e089-497f-9764-bdada1bd398c" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_7189891b-e089-497f-9764-bdada1bd398c" class="code_img_opened" onclick="cnblogs_code_hide('7189891b-e089-497f-9764-bdada1bd398c',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_7189891b-e089-497f-9764-bdada1bd398c" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;HeaderContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_header;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;ContentContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_content;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000"></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>4.&nbsp;Add two CssClasses properties for the Header and Content.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('8e08828f-17a3-4e6d-bbd4-e353c91ee829')"><img id="code_img_closed_8e08828f-17a3-4e6d-bbd4-e353c91ee829" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_8e08828f-17a3-4e6d-bbd4-e353c91ee829" class="code_img_opened" onclick="cnblogs_code_hide('8e08828f-17a3-4e6d-bbd4-e353c91ee829',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_8e08828f-17a3-4e6d-bbd4-e353c91ee829" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;CSS&nbsp;Class&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">true</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">[Category(</span><span style="color: #800000">"</span><span style="color: #800000">Appearance</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CSS&nbsp;class&nbsp;for&nbsp;CollapisblePanel&nbsp;Header</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;HeaderCssClass&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_header.CssClass;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header.CssClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;CSS&nbsp;Class&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #008000"></span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">[Browsable(</span><span style="color: #0000ff">true</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">[Category(</span><span style="color: #800000">"</span><span style="color: #800000">Appearance</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CSS&nbsp;class&nbsp;for&nbsp;CollapisblePanel&nbsp;Content</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ContentCssClass&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">30</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_content.CssClass;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">33</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">34</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">35</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">36</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content.CssClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">38</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">39</span>&nbsp;<span style="color: #000000">}&nbsp;&nbsp;<br /></span><span style="color: #008080">40</span>&nbsp;<span style="color: #000000"></span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>5.&nbsp;In the override CreateChildControls function, add the Header, Content and an AjaxControlToolkit CollapsiblePanelExtender. Bind the corresponding controls with this extender. In the end, load the templates into the controls.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('c4f5d1d1-036b-4f89-b835-31fbbe337f1f')"><img id="code_img_closed_c4f5d1d1-036b-4f89-b835-31fbbe337f1f" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_c4f5d1d1-036b-4f89-b835-31fbbe337f1f" class="code_img_opened" onclick="cnblogs_code_hide('c4f5d1d1-036b-4f89-b835-31fbbe337f1f',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_c4f5d1d1-036b-4f89-b835-31fbbe337f1f" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Instantiate&nbsp;the&nbsp;templates&nbsp;into&nbsp;new&nbsp;child&nbsp;controls<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;CreateChildControls()<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;the&nbsp;controls</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #008000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Clear();<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CCPContainer();<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(System.Globalization.CultureInfo.InvariantCulture,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">{0}_header</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ID);<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(_header);<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CCPContainer();<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(System.Globalization.CultureInfo.InvariantCulture,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">{0}_content</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ID);<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(_content);<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CollapsiblePanelExtender&nbsp;cpe&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CollapsiblePanelExtender();<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">cpe</span><span style="color: #800000">"</span><span style="color: #000000">;<br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.TargetControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_content.ID;<br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.CollapseControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_header.ID;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.ExpandControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_header.ID;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(cpe);<br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000"><br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Load&nbsp;the&nbsp;templates&nbsp;into&nbsp;the&nbsp;controls</span><span style="color: #008000"><br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #008000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(_headerTemplate&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_headerTemplate.InstantiateIn(_header);<br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(_contentTemplate&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_contentTemplate.InstantiateIn(_content);<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>6.&nbsp;Compile the custom control and add it into a page. Complete the property value.</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('cea5085e-13e7-4eb3-bb28-b6047f8a4ee3')"><img id="code_img_closed_cea5085e-13e7-4eb3-bb28-b6047f8a4ee3" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_cea5085e-13e7-4eb3-bb28-b6047f8a4ee3" class="code_img_opened" onclick="cnblogs_code_hide('cea5085e-13e7-4eb3-bb28-b6047f8a4ee3',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_cea5085e-13e7-4eb3-bb28-b6047f8a4ee3" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">ccp:CusCollapsiblePanel&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">CusCollapsiblePanel1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ContentCssClass</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">collapsePanel</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;HeaderCssClass</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">collapsePanelHeader</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Header</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;Header&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Header</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Content</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;Content&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">asp:Label&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Label1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">FirstName:</span><span style="color: #000000">&lt;/</span><span style="color: #000000">asp:Label</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">asp:TextBox&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TextBox1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">LastName:</span><span style="color: #000000">&lt;/</span><span style="color: #000000">asp:TextBox</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Content</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;/</span><span style="color: #000000">ccp:CusCollapsiblePanel</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>7.&nbsp;The whole code:</p>
<p>The CusCollapsiblePanel.cs</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('216233b0-8d49-4bfd-a124-7d1a65363da0')"><img id="code_img_closed_216233b0-8d49-4bfd-a124-7d1a65363da0" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_216233b0-8d49-4bfd-a124-7d1a65363da0" class="code_img_opened" onclick="cnblogs_code_hide('216233b0-8d49-4bfd-a124-7d1a65363da0',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_216233b0-8d49-4bfd-a124-7d1a65363da0" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.ComponentModel;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Text;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI.WebControls;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;AjaxControlToolkit;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;10</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;CustomCollapsiblePanel&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;11</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;[ToolboxData(</span><span style="color: #800000">"</span><span style="color: #800000">&lt;{0}:CusCollapsiblePanel&nbsp;runat=server&gt;&lt;/{0}:CusCollapsiblePanel&gt;</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CusCollapsiblePanel&nbsp;:&nbsp;WebControl&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;private&nbsp;properties&nbsp;&nbsp;&nbsp;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;18</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;19</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;20</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;_header;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;23</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;24</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;25</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ITemplate&nbsp;_headerTemplate;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;28</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;29</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;30</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;_content;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;33</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;34</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;35</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ITemplate&nbsp;_contentTemplate;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;36</span>&nbsp;<span style="color: #000000">&nbsp;<br /></span><span style="color: #008080">&nbsp;37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;38</span>&nbsp;<span style="color: #000000">&nbsp;<br /></span><span style="color: #008080">&nbsp;39</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#region</span><span style="color: #000000">&nbsp;public&nbsp;properties&nbsp;&nbsp;&nbsp;</span><span style="color: #000000"><br /></span><span style="color: #008080">&nbsp;40</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;41</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;42</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;43</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;44</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;45</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;46</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;HeaderContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;47</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;50</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;51</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_header;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;52</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;53</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;54</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;55</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;56</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;CSS&nbsp;Class&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;57</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;58</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">true</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;59</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Category(</span><span style="color: #800000">"</span><span style="color: #800000">Appearance</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;60</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CSS&nbsp;class&nbsp;for&nbsp;CollapisblePanel&nbsp;Header</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;61</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;HeaderCssClass&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;62</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;63</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;64</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;65</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;66</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_header.CssClass;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;67</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;68</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;69</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;70</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;71</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header.CssClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;72</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;73</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;74</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;75</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;76</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Header&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;77</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;78</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;79</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DefaultValue(</span><span style="color: #0000ff">null</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;80</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CollapisblePanel&nbsp;Header</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;81</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[PersistenceMode(PersistenceMode.InnerProperty)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;82</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TemplateContainer(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(CCPContainer))]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;83</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TemplateInstance(TemplateInstance.Single)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;84</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;ITemplate&nbsp;Header&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;85</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;86</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_headerTemplate;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;87</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;{&nbsp;_headerTemplate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;88</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;89</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;90</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;91</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Container&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;92</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">&nbsp;93</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;94</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;95</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;ContentContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;96</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;97</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;98</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;99</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">100</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_content;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">101</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">102</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">103</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">104</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">105</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;CSS&nbsp;Class&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">106</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">107</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">true</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">108</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Category(</span><span style="color: #800000">"</span><span style="color: #800000">Appearance</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">109</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CSS&nbsp;class&nbsp;for&nbsp;CollapisblePanel&nbsp;Content</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">110</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;ContentCssClass&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">111</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">112</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">113</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">114</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">115</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_content.CssClass;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">116</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">117</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">118</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">119</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EnsureChildControls();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">120</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content.CssClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">121</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">122</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">123</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">124</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">125</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Content&nbsp;Template&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">126</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">127</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Browsable(</span><span style="color: #0000ff">false</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">128</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DefaultValue(</span><span style="color: #0000ff">null</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">129</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Description(</span><span style="color: #800000">"</span><span style="color: #800000">CollapisblePanel&nbsp;Content</span><span style="color: #800000">"</span><span style="color: #000000">)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">130</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[PersistenceMode(PersistenceMode.InnerProperty)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">131</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TemplateContainer(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(CCPContainer))]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">132</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TemplateInstance(TemplateInstance.Single)]&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">133</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">virtual</span><span style="color: #000000">&nbsp;ITemplate&nbsp;Content&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">134</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">135</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000">&nbsp;{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;_contentTemplate;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">136</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;{&nbsp;_contentTemplate&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;value;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">137</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br /></span><span style="color: #008080">138</span>&nbsp;<span style="color: #000000">&nbsp;<br /></span><span style="color: #008080">139</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">#endregion</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #000000"><br /></span><span style="color: #008080">140</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">141</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">142</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Instantiate&nbsp;the&nbsp;templates&nbsp;into&nbsp;new&nbsp;child&nbsp;controls&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">143</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080"><br /></span><span style="color: #008080">144</span>&nbsp;<span style="color: #808080"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">protected</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">override</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;CreateChildControls()&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">145</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">146</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Create&nbsp;the&nbsp;controls&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #008080">147</span>&nbsp;<span style="color: #008000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Clear();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">148</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CCPContainer();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">149</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_header.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(System.Globalization.CultureInfo.InvariantCulture,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">{0}_header</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ID);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">150</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(_header);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">151</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CCPContainer();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">152</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_content.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(System.Globalization.CultureInfo.InvariantCulture,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">{0}_content</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ID);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">153</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(_content);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">154</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">155</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CollapsiblePanelExtender&nbsp;cpe&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CollapsiblePanelExtender();&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">156</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.ID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">cpe</span><span style="color: #800000">"</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">157</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.TargetControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_content.ID;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">158</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.CollapseControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_header.ID;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">159</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpe.ExpandControlID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;_header.ID;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">160</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Controls.Add(cpe);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">161</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">162</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;Load&nbsp;the&nbsp;templates&nbsp;into&nbsp;the&nbsp;controls&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /></span><span style="color: #008080">163</span>&nbsp;<span style="color: #008000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(_headerTemplate&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">164</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_headerTemplate.InstantiateIn(_header);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">165</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(_contentTemplate&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">166</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_contentTemplate.InstantiateIn(_content);&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">167</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">168</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">169</span>&nbsp;<span style="color: #000000">}</span></div></div></div>
<p>&nbsp;</p>
<p>The CCPContainer.cs</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('becdb479-929a-40c3-9d0b-c521b09664d3')"><img id="code_img_closed_becdb479-929a-40c3-9d0b-c521b09664d3" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_becdb479-929a-40c3-9d0b-c521b09664d3" class="code_img_opened" onclick="cnblogs_code_hide('becdb479-929a-40c3-9d0b-c521b09664d3',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_becdb479-929a-40c3-9d0b-c521b09664d3" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Collections.Generic;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.ComponentModel;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Text;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;System.Web.UI.WebControls;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000"></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;CustomCollapsiblePanel&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CCPContainer&nbsp;:&nbsp;Panel,&nbsp;INamingContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">}&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>The TestCustomCollapsiblePanel.aspx</p>
<p>&nbsp;</p>
<div class="cnblogs_code" onclick="cnblogs_code_show('77a67398-b05d-496a-9c7a-20c2fe6616c6')"><img id="code_img_closed_77a67398-b05d-496a-9c7a-20c2fe6616c6" class="code_img_closed" src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif"  alt="" /><img style="display: none" id="code_img_opened_77a67398-b05d-496a-9c7a-20c2fe6616c6" class="code_img_opened" onclick="cnblogs_code_hide('77a67398-b05d-496a-9c7a-20c2fe6616c6',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"><span class="cnblogs_code_collapse">代码</span>
<div id="cnblogs_code_open_77a67398-b05d-496a-9c7a-20c2fe6616c6" class="cnblogs_code_hide">
<div><!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&lt;%</span><span style="color: #000000">@&nbsp;Page&nbsp;Language</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">vb</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;AutoEventWireup</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">false</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;CodeBehind</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TestCustomCollapsiblePanel.aspx.vb</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Inherits</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">SoluTest_CustomControl.TestCustomCollapsiblePanel</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;%</span><span style="color: #000000">@&nbsp;Register&nbsp;Assembly</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">CustomCollapsiblePanel</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;Namespace</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">CustomCollapsiblePanel</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;TagPrefix</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">ccp</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">%&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;!</span><span style="color: #000000">DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;</span><span style="color: #000000">html&nbsp;xmlns</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">http://www.w3.org/1999/xhtml</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;</span><span style="color: #000000">head&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">title</span><span style="color: #000000">&gt;&lt;/</span><span style="color: #000000">title</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protected&nbsp;Sub&nbsp;Page_Load(ByVal&nbsp;sender&nbsp;As&nbsp;Object,&nbsp;ByVal&nbsp;e&nbsp;As&nbsp;System.EventArgs)&nbsp;Handles&nbsp;Me.Load&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #800000">'</span><span style="color: #800000">form1.Controls.Add(New&nbsp;CustomExtenders.CustomCollapsiblePanel())&nbsp;&nbsp;&nbsp;</span><span style="color: #800000"><br /></span><span style="color: #008080">15</span>&nbsp;<span style="color: #800000"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">style&nbsp;type</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">text/css</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collapseContainer&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;500px;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overflow:&nbsp;visible;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collapsePanel&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:&nbsp;medium&nbsp;solid&nbsp;#0000FF;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;450px;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="color: #000000">-</span><span style="color: #000000">color:&nbsp;white;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">30</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overflow:&nbsp;visible;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">float</span><span style="color: #000000">:&nbsp;none;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">33</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.collapsePanelHeader&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">34</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">35</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;450px;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">36</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;20px;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;Yellow;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">38</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span><span style="color: #000000">-</span><span style="color: #000000">color:&nbsp;#</span><span style="color: #800080">000080</span><span style="color: #000000">;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">39</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="color: #000000">-</span><span style="color: #000000">weight:&nbsp;bold;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">40</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">float</span><span style="color: #000000">:&nbsp;none;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">41</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding:&nbsp;5px;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">42</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor:&nbsp;pointer;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">43</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vertical</span><span style="color: #000000">-</span><span style="color: #000000">align:&nbsp;middle;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">44</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">45</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">style</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">46</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;/</span><span style="color: #000000">head</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">47</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;</span><span style="color: #000000">body</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">form&nbsp;id</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">form1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">50</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">asp:ScriptManager&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">ScriptManager1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">51</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">asp:ScriptManager</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">52</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">ccp:CusCollapsiblePanel&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">CusCollapsiblePanel1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;ContentCssClass</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">collapsePanel</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">53</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HeaderCssClass</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">collapsePanelHeader</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">54</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Header</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">55</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;Header&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">56</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Header</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">57</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">Content</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">58</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;Content&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080">59</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">asp:Label&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">Label1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">FirstName:</span><span style="color: #000000">&lt;/</span><span style="color: #000000">asp:Label</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">60</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">asp:TextBox&nbsp;ID</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">TextBox1</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;runat</span><span style="color: #000000">=</span><span style="color: #800000">"</span><span style="color: #800000">server</span><span style="color: #800000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">LastName:</span><span style="color: #000000">&lt;/</span><span style="color: #000000">asp:TextBox</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">61</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">Content</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">62</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">ccp:CusCollapsiblePanel</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">63</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">64</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">form</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">65</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;/</span><span style="color: #000000">body</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br /></span><span style="color: #008080">66</span>&nbsp;<span style="color: #000000"></span><span style="color: #000000">&lt;/</span><span style="color: #000000">html</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span></div></div></div>
<p>&nbsp;</p>
<p>8. The related Asp.Net thread URL:<a href="http://forums.asp.net/p/1499632/3553543.aspx#3553543" target="_blank">http://forums.asp.net/p/1499632/3553543.aspx#3553543</a></p>
<p>&nbsp;</p>
<p>Best regards,</p>
<p>Zhi-Qiang Ni</p>
<p>&nbsp;</p><img src="aggbug/1619628.html?type=0" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/08/1619628.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Zhi-QiangNi/archive/2009/12/08/1619628.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>奇异的效果</title><link>http://www.cnblogs.com/meta/archive/2009/12/04/1616734.html</link><dc:creator>花纯春</dc:creator><author>花纯春</author><pubDate>Fri, 04 Dec 2009 02:01:00 GMT</pubDate><guid>http://www.cnblogs.com/meta/archive/2009/12/04/1616734.html</guid><description><![CDATA[<p>阅读: 456 评论: 1 作者: <a href="" target="_blank">花纯春</a> 发表于 2009-12-04 10:01 <a href="http://www.cnblogs.com/meta/archive/2009/12/04/1616734.html" target="_blank">原文链接</a></p><span class="Apple-style-span" style="font-family: Simsun; font-size: medium; line-height: normal; "><div style="word-wrap: break-word; background-image: initial !important; background-repeat: initial !important; background-attachment: initial !important; -webkit-background-clip: initial !important; -webkit-background-origin: initial !important; background-color: #ffffff; text-align: left; color: #444444; font: normal normal normal 14px/1.6em Verdana, Helvetica, Arial, sans-serif !important; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; background-position: initial initial !important; "><span class="Apple-style-span" style="word-wrap: break-word; line-height: 16px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; "><p style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; "><span style="word-wrap: break-word; line-height: 14px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, sans-serif; font-size: 12px; border-collapse: collapse; white-space: pre; ">奇异的效果</span></p><p style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; ">由于在这儿不能直接贴JavaScript，请点击</p><p style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; "><a href="http://four-corner.appspot.com/mm.htm" style="word-wrap: break-word; text-decoration: underline; color: #333333; line-height: normal; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " target="_blank">http://four-corner.appspot.com/mm.htm</a></p><p style="word-wrap: break-word; margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; ">查看效果</p></span></div></span><img src="aggbug/1616734.html?type=0" width="1" height="1" alt=""/><p>评论: 1　<a href="http://www.cnblogs.com/meta/archive/2009/12/04/1616734.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/meta/archive/2009/12/04/1616734.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>