<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[网络猎人]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[www.weilaijie.com未来街，购物生活街！]]></description>
<link>http://hi.baidu.com/mrx1005</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[Google AdSense:Google的骗人策略(goolge=骗子，应该给google判刑)]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/8d037a2344b980559822ed99.html]]></link>
        <description><![CDATA[
		
		Google的骗钱技巧是非常高明的，它巧妙掌握了广告主和个人站长的弱点，通过Google AdWords和Google AdSense结合，达到了这个目的。单从个人站长这块来保守的计算，骗上一个就增加几百到几千美元的收入，一年在全世界骗上几万个站长，就增加几亿美元 的收入。大家在Google公开的财报中看到，Google AdSense占总收入的比例越来越要，这与Google的欺骗技巧有非常大的关系。废话不多说，直接讲Google如何利用个人站长和广告主的弱点进行 高手法骗钱的： <br>
<br>
一、Google利用个人站长的弱点骗钱： <br>
<br>
1、利用时间差对站长进行欺骗： <br>
Google的广告联盟门槛比较高，到了100美元才给你付，并且还是用支票给你付美元，所以一般的个人网站放在Google广告三四个月后，才积累到这 个数目，而那些收入高的个人网站因为支票兑换成人民币的成本较高，所以又是等广告提成积累到超过500美元或者以前美元之后才要求Google支付。从 Google答应支付到收到现金，还需要几个月。这所有的时间加起来，可能就是半年了。 <br>
<br>
在个人站长的Google AdSense收入积累到一定程度等待Google给自己支付的时候，突然发现自己的帐户进不去了，然后邮箱里面收到一封Google的来信，声称你的网 站可能涉及作弊，它们拒绝支付你的收入，并且关闭你的帐户，而且还特别装腔作势的说明这些钱会退还给相应的广告主来欺骗你。 <br>
对于这个问题，我特别的想问Google：如果这个网站有作弊行为，Google在投放广告几天后就可以检测到，为什么不在一开始就把个人站长的帐号封了呢？ 为什么要等到给用户。 <br>
<br>
答案很简单：任何看似奇怪的行为背后都是有其商业原因的！ <br>
<br>
Google如果在一开始就把你关闭了，Google Adsense就没法多赚钱了，它这样做，也是Google骗钱的高明之处。 <br>
<br>
<br>
2、利用站长和广告主信息的不互通 <br>
<br>
Google虽然告诉个人站长，拒绝付给站长的钱将会返还个广告主，但是这只是一个谎言。你可以翻翻所有的互联网新闻，互联网新闻中，每天几乎有一半都是Google的，但是从来没有发现Google将扣除个人站长的钱返回广告用户的事情。 <br>
<br>
但是仍然有很多站长就盲目的相信了Google，再认真阅读Google的霸王条款，关于那些条款，如果要找问题，任何一个网站都可以找出原因来。每 当帐号被封之后，Google只是强硬的只告诉你，你的网站可能违反的他们的条款，但是就是不给你说你的网站具体犯了什么错误，而是发给你一个网址，让你 自己找。 <br>
<br>
其实，很多网站根本都没有任何作弊行为，而Google也找不出，于是Google出此霸王条款欺骗站长。 <br>
<br>
有些站长看了那些霸王条款，以为真的范了错，比如说自己网站上有一个被处罚网站的超链等等，郁闷的相信了Google的诚信。等Google在主动给 自己发邮件邀请加盟Google AdSense的时候，会非常荣幸的再次将Google的广告放到自己的网站上，等到再次要付钱的时候，又收到了Google的封帐号邮件，前几天看到一 个站长的贴子，他竟然这样被Google反复骗了三次。 <br>
<br>
<br>
3、利用少部分站长的投机心理： <br>
<br>
有一部分网站站长有投机心理，这些站长就被Google给利用了，被Google充当了Google欺骗广告主的工具而已。因为没有作弊的很多网站都 被Google以可能有作弊嫌疑给封帐号了，这些作弊的网站就更加逃脱不了Google的眼睛了。Google也是等这些网站帮自己把广告主的钱骗到手之 后，再把这些站长的帐号封掉，理直气壮的独吞广告费。 <br>
<br>
那些投机取巧的网站，只是Google用来骗广告主广告费的工具而已。 要彻底明白Google骗钱的原理，需要了解一下Google如何欺骗广告主 <br>
<br>
二、Google利用了广告主的那几个弱点： <br>
<br>
1、弱点之一：新用户对AdWords猫腻的不熟悉   <br>
<br>
只要你刚刚注册Google AdWords，通过AdWords来投放广告，如果没有专门的设置，系统模式的广告，会直接出现在Google AdSense联盟网站上。Google AdSense 联盟的广告效果比起Google搜索结果的效果，那是天壤之别，但是Google AdSense带来的点击量是非常大的。所以你的广告费也想流水似的哗哗的出。 <br>
<br>
简单点说，Google AdWords默认你的广告出现在Google AdSense上，但是Google AdSense的点击量大，质量却非常低，新用户总是在不觉中就浪费掉大量的广告费。 <br>
<br>
2、弱点之二：大部分广告主不懂专业的广告效果检测     <br>
大部分广告主在Google AdWords中投放广告以后，懂得广告效果检测的人数比例是非常少非常少的。所以大部分都稀里糊涂的在花钱，就算自己花的钱大部分都是冤枉钱，也都不知道。 <br>
<br>
而这些虚假点击大部分都来自于Google AdSense的联盟网站带来的，这些钱，Google并没有像给联盟网站承诺的那样，退还给这些无知的广告主，而是留在了自己的腰包。 <br>
<br>
只要极少部分美国广告主对Google进行了集体诉讼，而针对这些问题，Google出了9000万搞定了他们。这9000万中，其实真正付出的是 3000万美元收买律师的费用，那名誉上的6000万并没有真正的给那些受害的广告主，只是象征型的按照每花1000美元反3.8美元Google广告费 而已，对那些受害的广告主而言，根本没有要回自己的损失。Google实际只花了3000万收买律师。3000万这个数目对于Google靠欺骗来的收入 而言，只是很小的成本而已。 <br>
<br>
也就是说，就算有一少部分广告主发现自己的广告中，有许多虚假点击的成本，如果你不去告Google，你不可能拿回被Google骗走的钱了，就算你 去告，也不拿到。像美国那种集体诉讼，因为影响太大了，Google怕它的这个秘密被揭发出来，所以它干脆收买律师以和解的方式来解决。那些知道自己受骗 的广告主也没有能够要回自己的损失。对于大部分被Google欺骗的广告客户，都还蒙在鼓里。因为他们不懂的专业的广告检测，根本不知道自己通过 Google AdWords带来的流量中，有多少是垃圾流量。 <br>
<br>
<br>
重点强调： <br>
<br>
Google的推广靠的就是口碑和新闻，Google非常懂的用户的心理，所以就连他们赚钱的猫腻，也是研究透了广告主和站长的心理，利用双方的薄弱环节，对双方进行一定的欺骗，通过这些手段来提高自己的收入。这里提几个重点： <br>
<br>
1、Google封那些他们所谓的作弊站点为什么不一开始就封，而都是等到帐户中已经有很高的收入，或者积累到很高收入后才封呢？ <br>
<br>
2、Google拒绝指出被拒绝付广告费的网站触犯了Google那条具体的条款。并且使用词语强硬，忙横不讲理。 <br>
3、Google封个人站长帐号的时候称那些钱都回返还给广告主，真的返还了么？根本就是在骗站长，只是拿了其中非常非常小的一部分来摆平对其少部分广告主的起诉而已。 <br>
<br>
4、Google Words利用了普通广告主对其操作的不熟悉，对其默认设置的信任，让众多客户的广告投放不够精准，浪费了居多广告费。 <br>
<br>
5、Google骗一个网站可以增加几百到几千美元的收入，骗10万个中小型个人站长就可以增加几亿美元的收入。 <br>
6、欢迎大家来补充, 如果大家都Google的欺骗行为还有那些遭遇，请补充！<br>
<br>
<br>
结束语：Google给了我们广大网友太多的惊喜，它确实有太多值得我们大家学习的地方，所以我们把无数的光环戴到了Google的头上，甚至我们觉 得它是一个连赚钱都不做恶的搜索引擎。事实上不是它不做恶，而是它作恶的比较高明罢了。在赤裸裸的商业利益面前，它的作恶越来越过分，越来越让人无法容 忍。 <br>
<br>
Google过去一年在中国的市场份额在不断的下降，Google中国的相关负责人不要一味的找各种理由各种借口去逃避，然后再自恋一番。应该到第一线去，了解真正的原因。 <br>
<br>
中国个人站长过得非常不容易，希望Google不要再继续个人网站身上榨取他们的血汗钱。他们是帮你们在中国获得市场的人，他们是你们在中国超越百度的力量，为了你的发展，请还中国站长们的血汗钱！！！ <a href="http://hi.baidu.com/mrx1005/blog/item/8d037a2344b980559822ed99.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/%C6%E4%CB%FC">其它</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/8d037a2344b980559822ed99.html#comment">查看评论</a>]]></description>
        <pubDate>2008-11-06  08:40</pubDate>
        <category><![CDATA[其它]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/8d037a2344b980559822ed99.html</guid>
</item>

<item>
        <title><![CDATA[【ASP.NET】FCKeditor 2.6 + Asp.Net 设置]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/c3a12195425ef80e7bf480b0.html]]></link>
        <description><![CDATA[
		
		<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>FCKEditor asp.net</span></strong><strong><span>设置</span></strong></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>下载：</span><a href="http://www.fckeditor.net/"><font color="#666666">http://www.fckeditor.net</font></a></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>（要下载</span>FCKeditor2.6.zip<span>和</span>FCKeditor.NET2.5<span>版的</span>2<span>个</span>zip<span>包）</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;">FCKeditor2.6zip<span>是其最新的</span>Javascript<span>文件和图片等；</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;">FCKeditor.NET.zip<span>是一个</span>ASP.NET<span>控件</span>DLL<span>文件。</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>下面结合一个</span>ASP.NET2.0<span>的项目来具体看看</span>FCKeditor<span>的安装、配置、使用。在开始之前请先下载</span>FCKeditor<span>文件包和</span>FCKeditor.Net <span>服务器控件。启用</span>VWD2005<span>新建一个</span>C#<span>的</span>WEB Site<span>工程，取名</span>FCKPro<span>。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>FCKeditor</span></strong><strong><span>安装：</span></strong></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>所谓安装就是一个简单的拷贝过程。把下载的</span>FCKeditor2.4.2.zip<span>文件包直接解压缩到</span>FCKPro<span>的根目录下，这样根目录下就得到一个</span>FCKeditor<span>文件夹，里面富含所有</span>FCKeditor<span>的核心文件。</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>然后把下载的</span>FCKeditor.Net.zip<span>随便解压缩到你硬盘的一个空目录，里面是</span>FCKeditor.Net<span>的源代码，你可以对它进行再度开发，本文尚不涉及本内容，我们只是直接使用其目录下的</span>&quot;bin&quot;Debug<span>目录中的</span>FredCK.FCKeditorV2.dll<span>文件。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>在</span></strong><strong><span>VS2005</span></strong><strong><span>中添加对</span></strong><strong><span>FredCK.FCKeditorV2.dll</span></strong><strong><span>的引用：</span></strong></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;">1.<span>在</span>FCKPro<span>工程浏览器上右键，选择添加引用（</span>Add Reference…<span>），找到浏览</span>(Browse)<span>标签，然后定位到你解压好的</span>FredCK.FCKeditorV2.dll<span>，确认就可以了。这时，</span>FCKPro<span>工程目录下就多了一个</span>bin<span>文件夹，里面包含</span>FredCK.FCKeditorV2.dll<span>文件。当然，你也可以完全人工方式的来做，把</span>FredCK.FCKeditorV2.dll<span>直接拷贝到</span>FCKPro&quot;bin&quot;<span>下面，</span>VS2005<span>在编译时会自动把它编译进去的。</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;">2.<span>为了方便</span>RAD<span>开发，我们把</span>FCKeditor<span>控件也添加到</span>VS<span>的工具箱（</span>Toolbox<span>）上来，展开工具箱的常用标签组（</span>General<span>），右键选择组件（</span>Choose Items…<span>），在对话框上直接找到浏览按钮，定位</span>FredCK.FCKeditorV2.dll<span>，然后确认就可以了。</span><span>这时工具箱呈现出控件的样子，这样会省去很多在开发时使用</span>FCKeditor<span>控件时要添加的声明代码。</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>至此，你已经完成了</span>FCKeditor<span>的安装，并可以在你的项目中使用</span>FCKeditor<span>了，当然后面还有很多需要配置的东西。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>FCKeditor</span></strong><strong><span>详细的设置：</span></strong></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>进入</span>FCKeditor<span>文件夹，编辑</span> fckconfig.js <span>文件。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">1<span>、</span><span>此步骤是必须的，也是最重要的一步。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>修改</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>改为</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">2<span>、配置语言包。有英文、繁体中文等，这里我们使用简体中文。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>修改</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.DefaultLanguage = 'en' ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>为</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.DefaultLanguage = 'zh-cn' ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">3<span>、配置皮肤。有</span>default<span>、</span>office2003<span>、</span>silver<span>风格等，这里我们可以使用默认。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">4<span>、在编辑器域内可以使用</span>Tab<span>键。（</span>1<span>为是，</span>0<span>为否）</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.TabSpaces = 0 ; <span>改为</span>FCKConfig.TabSpaces = 1 ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">5<span>、加上几种我们常用的字体的方法，例如：</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>修改</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>为</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.FontNames = '<span>宋体</span>;<span>黑体</span>;<span>隶书</span>;<span>楷体</span>_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana'</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">6<span>、编辑器域内默认的显示字体为</span>12px<span>，想要修改可以通过修改样式表来达到要求，打开</span>/editor/css/fck_editorarea.css<span>，修改</span>font-size<span>属性即可。如</span>font-size: 14px;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">7<span>、关于安全性。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>如果你的编辑器用在网站前台的话，那就不得不考虑安全了，在前台千万不要使用</span>Default<span>的</span>toolbar<span>，要么自定义一下功能，要么就用系统已经定义好的</span>Basic<span>，也就是基本的</span>toolbar<span>，</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>修改</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.ToolbarSets[&quot;Basic&quot;] = [</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>为</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">FCKConfig.ToolbarSets[&quot;Basic&quot;] = [</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">] ;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>这是我改过的</span>Basic<span>，把图像功能去掉，把添加链接功能去掉，因为图像和链接和</span>flash<span>和图像按钮添加功能都能让前台页直接访问和上传文件，要是这儿不改直接给你上传个木马还不马上玩完？</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>当然也可以配置一下</span>WebConfig,<span>也能让它确保安全，接下来我们将讲到。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>FCKPro</span></strong><strong><span>工程项目的设置：</span></strong></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">1<span>、配置</span>WebConfig<span>，在</span>&lt;appSettings&gt;<span>节点添加，如下所示：</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;appSettings&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;add key=&quot;FCKeditor:BasePath&quot; value=&quot;/<span>项目名称</span>/fckeditor/&quot;/&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;  <span style="color: red;">//Win2003下，Files目录一定要有IIS_WPG用户的写权限，否则可能无法上传</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;add key=&quot;FCKeditor:UserFilesPath&quot; value=&quot;/<span>项目名称</span>/Files/&quot; /&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;/appSettings&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>说明：</span>BasePath<span>是</span>fckeditor<span>所在路径，</span>fckeditor<span>由于我们直接放网站目录下这样写就可以，如果您的网站多放几层适当调整即可。</span>UserFilesPath<span>是所有上传的文件的所在目录。我们新建了一个</span>Files<span>文件夹放在了项目中做为上传文件的所在目录，这里为了方便，但由于考虑到安全性，我们建议</span>Files<span>要单独做</span>wwwroot<span>目录下的一个站点比较好，和我们的站点</span>FCKEditor<span>平行。不要把它放</span>FCKEditor<span>里，为什么呢？因为</span>Files<span>是要让客户有写的权限的，如果放</span>FCKEditor<span>下很危险。</span>Files<span>目录要有写的权限。你根据自己网站需求设置那个帐号，本文为方便设置</span>User<span>实际中你可能用</span>ASP.NET<span>帐号更合理。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">2<span>、在</span>FCKpro<span>工程项目中编写一个最简单的页面</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;%@ Page Language=&quot;C#&quot;&nbsp;&nbsp; AutoEventWireup=&quot;true&quot;&nbsp;&nbsp;&nbsp; CodeFile=&quot;Default.aspx.cs&quot; Inherits=&quot;_Default&quot; validateRequest=&quot;false&quot; %&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;%@ Register Assembly=&quot;FredCK.FCKeditorV2&quot; Namespace=&quot;FredCK.FCKeditorV2&quot; TagPrefix=&quot;FCKeditorV2&quot; %&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">// <span>这里要主要两个参数</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">// <span>默认为</span>&lt;%@ Page Language=&quot;C#&quot;&nbsp;&nbsp; AutoEventWireup=&quot;true&quot;&nbsp;&nbsp;&nbsp; CodeFile=&quot;Default.aspx.cs&quot; Inherits=&quot;_Default&quot; %&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">// <span>我们要添加一个参数</span> validateRequest=false<span>，否则提交带</span>html<span>代码的内容会报错</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">// <span>从客户端</span>(...)<span>中检测到有潜在危险的</span> Request.Form <span>值。</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;head runat=&quot;server&quot;&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;<span>无标题页</span>&lt;/title&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;/head&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;body&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;div&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;FCKeditorV2:FCKeditor ID=&quot;FCKeditor1&quot; runat=&quot;server&quot;&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/FCKeditorV2:FCKeditor&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;nbsp;&lt;/div&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;/body&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;">&lt;/html&gt;</p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>如何获取其内容呢？读取</span>FCKeditor1<span>控件的</span>Value<span>属性值即可。</span></p>
<span>
<p><font color="#000000"><strong>FCKEditor 2.6的问题：</strong></font></p>
<p><font color="#000000">1.FCKeditor出现&quot;this connector is disabled Please check the&quot;editor/filemanager/connectors/aspx/config.aspx&quot;错误的解决办法</font></p>
<p>打开editor/filemanager/connectors/aspx/config.ascx修改CheckAuthentication()方法，返回true</p>
<p>C# code </p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools"><a href="http://blog.csdn.net/xujh/archive/2007/11/19/1892819.aspx#">view plain</a><a href="http://blog.csdn.net/xujh/archive/2007/11/19/1892819.aspx#">copy to clipboard</a><a href="http://blog.csdn.net/xujh/archive/2007/11/19/1892819.aspx#">print</a><a href="http://blog.csdn.net/xujh/archive/2007/11/19/1892819.aspx#">?</a></div>
</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">private</span><span> </span><span class="keyword">bool</span><span> CheckAuthentication()&nbsp;&nbsp;</span></span></li>
    <li><span>{&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">// WARNING : DO NOT simply return &quot;true&quot;. By doing so, you are allowing</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="comment">// &quot;anyone&quot; to upload and list the files in your server. You must implement</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">// some kind of session validation here. Even something very simple as...</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="comment">//</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ( Session[ &quot;IsAuthorized&quot; ] != null &amp;&amp; (bool)Session[ &quot;IsAuthorized&quot; ] == true );</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="comment">//</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="comment">// ... where Session[ &quot;IsAuthorized&quot; ] is set to &quot;true&quot; as soon as the</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span><span class="comment">// user logs in your system. </span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">true</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<pre name="code" class="csharp" style="display: none;">private bool CheckAuthentication() { // WARNING : DO NOT simply return &quot;true&quot;. By doing so, you are allowing // &quot;anyone&quot; to upload and list the files in your server. You must implement // some kind of session validation here. Even something very simple as... // //        return ( Session[ &quot;IsAuthorized&quot; ] != null &amp;&amp; (bool)Session[ &quot;IsAuthorized&quot; ] == true ); // // ... where Session[ &quot;IsAuthorized&quot; ] is set to &quot;true&quot; as soon as the // user logs in your system.           return true; }</pre>
<p>2.在上传文件窗口点击浏览服务器，会出现the server didn't send back a proper xml.....错误提示，因为后期版本的FCKEditor要求不同类型的文件分别传到不同的目录，包括file,image,falsh,media 等目录，一定要先建立起来。</p>
</span>
<p style="margin-bottom: 0pt; line-height: 12pt;"><strong><span>FCKeditor</span></strong><strong><span>精简版的制作方法（附）</span></strong></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　进入</span>FCKeditor<span>文件夹，把所有</span>&ldquo;_&rdquo;<span>开头的文件和文件夹删掉，这些都是一些范例，只保留</span>editor<span>文件夹、</span>fckconfig.js<span>、</span>fckeditor.js<span>、</span>fckstyles.xml<span>、</span>fcktemplates.xml<span>就可以了；</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　　进入</span>editor<span>文件夹，删掉</span>&ldquo;_source&rdquo;<span>文件夹，里面放的同样是源文件；</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　　退回上一级目录进入</span>filemanager<span>文件夹，有</span>browser<span>和</span>upload<span>两个文件夹。进入</span>browser&quot;default&quot;connectors<span>，只保留</span>aspx<span>文件夹，其余的删掉；</span>mcpuk<span>目录亦可删除；</span>upload<span>也一样，只保留</span>aspx<span>文件夹；</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　　退到</span>editor<span>再进入</span>images<span>文件夹，</span>smiley<span>里面放的是表情图标，有</span>msn<span>和</span>fun<span>两个系列，如果你想用自己的表情图标，可以把它们都删除；如果你想用这里的表情图标那就不要删了；</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　　</span>lang<span>里面放的是语言包，如果只是用简体中文，那么只保留</span>fcklanguagemanager.js<span>、</span>zh-cn.js<span>两个文件就行了，建议也保留</span>en.js<span>（英文）、</span>zh.js<span>（繁体中文）两个文件，</span>fcklanguagemanager.js<span>是语言配置文件，有了它才能和</span>fckconfig.js<span>里的设置成对，对应上相应的语言文件，一定要保留！</span></p>
<p style="margin-bottom: 0pt; line-height: 12pt;"><span>　　再退出</span>lang<span>文件夹，进入</span>skins<span>文件夹，如果你想使用</span>FCKeditor<span>默认的奶黄色，那就把除了</span>default<span>文件夹外的另两个文件夹直接删除，如果想用别的，那就看你自己的喜好了。</span></p>
<p style="margin-bottom: 0pt; text-indent: 22pt; line-height: 12pt;"><span>至此，文件精简完毕，由原来的</span>2.55M<span>变成现在的</span>797K<span>了。接着修改设置。</span></p> <a href="http://hi.baidu.com/mrx1005/blog/item/c3a12195425ef80e7bf480b0.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/c3a12195425ef80e7bf480b0.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-26  19:59</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/c3a12195425ef80e7bf480b0.html</guid>
</item>

<item>
        <title><![CDATA[FCKeditor 在ASP.Net 中的使用说明]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/b297d524fe505e074d088d1c.html]]></link>
        <description><![CDATA[
		
		<p align="left"><span>FCKeditor</span><span> </span><span>是一个运行在浏览器上的</span><span> JavaScript </span><span>应用程序。他可以不依赖任何服务器端语言运行。不过，更好的使用方法是你使用一种服务器端语言来调用他。</span></p>
<p align="left"><span>在</span><span>ASP.Net</span><span> </span><span>中，有一个现成的工具包可以让你把</span><span> </span><span>FCKeditor </span><span>作为一个</span><span>WebForms</span><span>控件使用。这个工具包叫</span><span>FCKeditor.Net</span><span>。</span></p>
<p align="left"><span>要在你的</span><span> ASP.Net web </span><span>页面中使用他，请按照以下步骤执行。</span></p>
<p align="left"><strong><span>前提条件</span></strong></p>
<p align="left"><span>在进行以下几步前，你必须已经下载并且安装了最新版本的</span><span>FCKeditor</span><span>编辑器工具包（将他</span><span>COPY</span><span>到你的网站）。</span><span>FCKeditor.Net </span><span>工具包并不包含</span><span>FCKeditor</span><span>编辑器的代码。</span><span>(</span><span>将编辑器</span><span>JavaScript</span><span>代码放到你网站的</span><span>/FCKeditor/ </span><span>目录</span><span>)</span><span>。你能从下面的地址下载到编辑器：</span><span> <br>
<a href="http://sourceforge.net/project/showfiles.php?group_id=75348&amp;package_id=75845"><span>http://sourceforge.net/project/showfiles.php?group_id=75348&amp;package_id=75845</span></a> </span></p>
<p align="left"><strong><span>第一步</span></strong></p>
<p align="left"><span>确保编辑器已经在你网站的</span><span> </span><span>&quot;<strong>/FCKeditor/</strong>&quot; </span><span>目录里。现在，你需要下载</span><span>FCKeditor ASP.Net </span><span>控件的</span><span>DLL</span><span>文件到你的页面。你能在下面的地址找到最新的版本：</span><span> </span></p>
<p align="left"><span><a href="http://sourceforge.net/project/showfiles.php?group_id=75348&amp;package_id=137125"><span>http://sourceforge.net/project/showfiles.php?group_id=75348&amp;package_id=137125</span></a> </span></p>
<p align="left"><strong><span>第二步</span></strong></p>
<p align="left"><span>在下载的</span><span>ZIP</span><span>文件中包含控件的源代码和一个已经编译好的文件（</span><span>&quot;bin/Release/<strong>FredCK.FCKeditorV2.dll</strong>&quot;</span><span>）。大多少情况下，你并不需要对源代码做任何改变。你仅仅需要在你的项目中引用编译好的</span><span>DLL</span><span>文件，引用有</span><span>2</span><span>个方法：</span><span> </span></p>
<ul type="disc">
    <li><span>手动复制</span><span>FredCK.FCKeditorV2.dll </span><span>文件到你网站的</span><span>&quot;bin&quot;</span><span>目录</span><span> </span></li>
    <li><span>在你的</span><span>Visual Studio.Net</span><span>项目中按右键并选择&ldquo;添加引用&rdquo;</span><span> </span><span>，从你保存</span><span>FredCK.FCKeditorV2.dll</span><span> </span><span>文件的地方选择他。</span><span> </span></li>
    <li><span>你也可以直接在</span><span>Visual Studio.Net</span><span>工具箱中包含这个控件，在工具箱中右键，选择&ldquo;添加项&rdquo;，然后，选择</span><span>FredCK.FCKeditorV2.dll </span><span>。</span><span> </span></li>
    <li><span>确保你已经有了最新的</span><span>DLL</span><span>文件版本。</span></li>
</ul>
<p align="left"><strong><span>第三步</span></strong></p>
<p align="left"><span>现在就可以在你的网站上使用他了，新建一个</span><span>ASP.Net</span><span>页面，在页面上创建一个实例，有</span><span>2</span><span>个方法：</span><span> </span></p>
<ul type="disc">
    <li><span>把控件从工具箱中拖到你的页面（如果你已经在&ldquo;第二步&rdquo;中把他加到你的工具箱）</span><span> </span></li>
    <li><span>在你的</span><span>ASP.Net</span><span>页面顶部包含以下代码：</span><span> </span></li>
</ul>
<div>
<p align="left"><span>&lt;%@ Register TagPrefix=&quot;FCKeditorV2&quot; Namespace=&quot;FredCK.FCKeditorV2&quot; Assembly=&quot;FredCK.FCKeditorV2&quot; %&gt;</span></p>
</div>
<p align="left"><span>并且在</span><span>&lt;FORM runat=&quot;server&quot;&gt;</span><span>中添加控件的标签：</span><span> </span></p>
<div>
<p align="left"><span>&lt;FCKeditorV2:FCKeditor id=&quot;FCKeditor1&quot; BasePath=&quot;~/FCKeditor/&quot; runat=&quot;server&quot; /&gt;</span></p>
</div>
<p align="left"><span>注意：</span><span> <strong><span>BasePath</span></strong><span> </span></span><span>属性所指定的目录就是</span><span>FCKeditor </span><span>所在的目录</span></p>
<p align="left"><strong><span>全部代码如下</span></strong></p>
<div>
<p align="left"><span>&lt;%@ Page ValidateRequest=&quot;false&quot; Language=&quot;VB&quot; AutoEventWireup=&quot;false&quot; %&gt;</span></p>
<p align="left"><span>&lt;%@ Register TagPrefix=&quot;FCKeditorV2&quot; Namespace=&quot;FredCK.FCKeditorV2&quot; Assembly=&quot;FredCK.FCKeditorV2&quot; %&gt;</span></p>
<p align="left"><span>&lt;html&gt;</span></p>
<p align="left"><span> &lt;head&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;  </span>&lt;title&gt;FCKeditor - Sample&lt;/title&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;  </span>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;</span></p>
<p align="left"><span> &lt;/head&gt;</span></p>
<p align="left"><span> &lt;body&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;  </span>&lt;form runat=&quot;server&quot;&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span>&lt;FCKeditorV2:FCKeditor id=&quot;FCKeditor1&quot; BasePath=&quot;~/FCKeditor/&quot; runat=&quot;server&quot; /&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span>&lt;br /&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span>&lt;input type=&quot;submit&quot; value=&quot;Submit&quot; runat=&quot;server&quot; /&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;&nbsp;  </span>&lt;/form&gt;</span></p>
<p align="left"><span> &lt;/body&gt;</span></p>
<p align="left"><span>&lt;/html&gt;</span></p>
</div>
<p align="left"><strong><span>文件浏览和上传</span></strong></p>
<p align="left"><span>为了方便上传文件和图片到服务器，</span><span>FCKeditor</span><span>拥有文件管理和快速上传功能。</span><span> </span></p>
<p align="left"><span>FCKeditor</span><span>的这个功能依赖于服务器端的语言。你只需要为你使用的那种语言做简单的设置。为了在</span><span>ASP.Net</span><span>中使用，你要打开</span><span>FCKeditor</span><span>目录中的</span><strong><span>fckconfig.js</span></strong><span> </span><span>文件，找到</span><strong><span>_FileBrowserLanguage</span></strong><span> </span><span>和</span><span> <strong><span>_QuickUploadLanguage</span></strong><span> </span></span><span>，并将他们的值设置为</span><strong><span>'aspx' </span></strong><span>。</span></p>
<p align="left"><span>你的网站必须有上传文件的权限，还要预先设置好上传目录。默认情况下，</span><span> FCKeditor.Net </span><span>会在网站的根目录下查找</span><strong><span>UserFiles</span></strong><span> </span><span>目录，并把所有文件都放到这里，所以要先建好这个目录</span><span> </span><span>。</span><span> </span></p>
<p align="left"><span>注意：</span><span> </span><span>需要给予</span><strong><span>ASPNET</span></strong><span> </span><span>和</span><span>/</span><span>或者</span><span> <strong><span>IUSR_&lt;ComputerName&gt;</span></strong><span> </span></span><span>用户对</span><span>UserFile</span><span>目录的文件</span><span>/</span><span>目录的写和创建权限。</span></p>
<p align="left"><strong><span>示范</span></strong></p>
<p align="left"><span>你可以在</span><span>FCKeditor.Net </span><span>工具包的</span><span>&quot;_samples/aspx&quot;</span><span>目录中找到一些告诉你如何使用的示范文件。把这个目录复制到</span><span>FCKeditor</span><span>安装的同一个目录就可以使用了。</span><span> </span></p>
<p align="left"><strong><span>最小安装示范</span></strong></p>
<p align="left"><span>这是一个假设的在</span><span>ASP.Net</span><span>网站中使用</span><span>FCKeditor </span><span>的情况</span><span> </span></p>
<p align="left"><span>我们可以看到，这个网站包括：</span><span> </span></p>
<ul type="disc">
    <li><strong><span>FredCK.FCKeditorV2.dll</span></strong><span> </span><span>文件，</span><span> </span><span>从</span><span>FCKeditor.Net </span><span>工具包中复制到网站根目录中的</span><strong><span>bin</span></strong><span> </span><span>目录里。</span><span> (</span><span>查看</span><span> &quot;</span><span>第一、第二步</span><span>&quot;) </span></li>
    <li><strong><span>FCKeditor</span></strong><span> </span><span>目录，编辑器的</span><span>JavaScript</span><span>代码</span><span>(</span><span>来自</span><span>FCKeditor </span><span>工具包</span><span>). (</span><span>查看</span><span> &quot;</span><span>前提条件</span><span>&quot;) </span></li>
    <li><strong><span>UserFiles</span></strong><span> </span><span>目录，放置用户上传文件的地方</span><span> </span></li>
    <li><strong><span>MyPage.aspx</span></strong><span> </span><span>页，包含上面演示如何使用编辑器的代码。</span><span> (</span><span>查看</span><span> &quot;</span><span>第三步</span><span>&quot;) </span></li>
</ul>
<p align="left"><strong><span>小技巧</span></strong></p>
<p align="left"><span>你可以在</span><span>web.config </span><span>配置文件中设置默认的</span><span><span>UserFiles</span> </span><span>路径，这样，在你网站里使用的所有</span><span>FCKeditor </span><span>编辑器都可以使用这个设置：</span></p>
<div>
<p align="left"><span>&lt;appSettings&gt;</span></p>
<p align="left"><span><span>&nbsp;&nbsp;  </span>&lt;add key=&quot;FCKeditor:UserFilesPath&quot; value=&quot;/Wherever/Directory/&quot; /&gt;</span></p>
<p align="left"><span>&lt;/appSettings&gt;</span></p>
</div>
<p align="left"><strong><span>ASP.Net 1.1 </span></strong><strong><span>和</span></strong><strong><span> 2.0</span></strong></p>
<p align="left"><span>在使用</span><span>FCKeditor </span><span>的页面，需要把</span><span><a href="http://wiki.fckeditor.net/ValidateRequest"><span>ValidateRequest</span></a> </span><span>属性为</span><span>false</span><span>：</span><span> </span></p>
<div>
<p align="left"><span>&lt;%@ Page Language=&quot;VB&quot; Inherits=&quot;FredCK.FCKeditorV2.FileBrowserConnector&quot; AutoEventWireup=&quot;false&quot; ValidateRequest=&quot;false&quot; %&gt;</span></p>
</div>
<p align="left"><span>这是因为由编辑器建立的一些输入会被</span><span>.Net Framework</span><span>认为有危险。</span><span> </span></p>
<p align="left"><strong><span>ASP.Net 2.0 </span></strong><strong><span>和主题</span></strong></p>
<p align="left"><span>如果你正在使用</span><span>Asp.net 2.0 </span><span>和主题：你必须打开</span><span>\editor\filemanager\upload\aspx\upload.aspx </span><span>和、</span><span>\</span><span>editor\filemanager\browser\default\connectors\aspx\connector.aspx </span><span> </span><span>并且在第一行添加或者修改</span><strong><span>Theme=&quot;&quot;</span></strong><span> </span><span>：</span><span> </span></p>
<div>
<p align="left"><span>&lt;%@ Page Language=&quot;VB&quot; Inherits=&quot;FredCK.FCKeditorV2.FileBrowserConnector&quot; AutoEventWireup=&quot;false&quot; Theme=&quot;&quot; %&gt;</span></p>
</div>
<p align="left"><strong><span>在代码中修改</span></strong><strong><span>UserFilesPath </span></strong></p>
<p align="left"><span>如果你想修改用户上传文件的路径，你并不需要动态加载控件，但你需要在</span><span>page init</span><span> </span><span>中做一些操作，（并不是在</span><span>page load</span><span> </span><span>中）。下面是一个例子：</span><span> </span></p>
<div>
<p align="left"><span>Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init</span></p>
<p align="left"><span><span>&nbsp;&nbsp;  </span>Session(&quot;FCKeditor:UserFilesPath&quot;) = &quot;~/App_Images/&quot; &amp; _teamName</span></p>
<p align="left"><span>End Sub</span></p>
</div>
<p align="left"><strong><span>在代码中动态添加编辑器</span></strong></p>
<p align="left"><span>把</span><span>Base path </span><span>设置在</span><span> web.config </span><span>文件中：</span><span> </span></p>
<p align="left"><span>例如，如果下面是</span><span>FCKeditor </span><span>所在目录</span><span>&quot;c:/inetpub/wwwroot/virtualdir/FCKeditor/&quot; </span><span>，这样添加：</span><span> </span></p>
<div>
<p align="left"><span>&lt;add key=&quot;FCKeditor:BasePath&quot; value=&quot;~/FCKeditor/&quot; /&gt;</span></p>
</div>
<p align="left"><span>可以使用</span><span>session </span><span>来设置</span><span>UserFilesPath</span><span> </span><span>的路径，需要在你添加控件前设置</span><span>session </span><span>变量。</span></p>
<div>
<p align="left"><span>Session(&quot;FCKeditor:UserFilesPath&quot;) = &quot;/virtualdir/userfiles/&quot;</span></p>
</div>
<p align="left"><span>可以使用</span><span>request </span><span>对象来设置</span><span><a href="http://wiki.fckeditor.net/BasePath"><span>BasePath</span></a></span><span>。假设当前路径是：</span><span> &quot;<a href="http:///"><span>http://</span></a>&lt;host&gt;/FCKEditor/&quot;</span><span>。</span><span> </span></p>
<div>
<p align="left"><span>FCKeditor1.BasePath = Request.ApplicationPath + &quot;/FCKEditor/&quot;;</span></p>
</div>
<p align="left"><span>添加控件到页面：</span></p>
<div>
<p align="left"><span>Dim fckeditor As New FredCK.FCKeditorV2.FCKeditor</span></p>
<p align="left"><span>fckeditor.ImageBrowserURL = &quot;http://localhost/virtualdir/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&amp;Connector=connectors/aspx/connector.aspx&quot;</span></p>
<p align="left"><span>fckeditor.ID = &quot;dynamicname&quot;</span></p>
<p align="left"><span>fckeditor.Value = &quot;the text you want in the FCK editor&quot;</span></p>
<p align="left"><span>fckeditor.SkinPath = &quot;skins/silver/&quot;</span></p>
<p align="left"><span>fckeditor.ToolbarSet = &quot;Default&quot;</span></p>
<p align="left"><span>myForm.Controls.Add(fckeditor)</span></p>
</div> <a href="http://hi.baidu.com/mrx1005/blog/item/b297d524fe505e074d088d1c.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/b297d524fe505e074d088d1c.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-25  20:36</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/b297d524fe505e074d088d1c.html</guid>
</item>

<item>
        <title><![CDATA[关于使用UpdatePanel局部刷新后页面title变化为无标题的原因 |]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/7b2fe83f860654c47c1e7124.html]]></link>
        <description><![CDATA[
		
		转<br>
<br>
本人在开发某一AJAX技术网站时遇到一问题,页面中包含一个updatepanel,其中有2个textbox,2个分别验证textbox的验证控件,1个button,其中通过一个textbox的onkeyUp属性调用了一段JS
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);"> checkPassChange()<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">($Son(</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">UserConfirmPassT</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">).value </span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">&quot;&quot;</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">&amp;&amp;</span><span style="color: rgb(0, 0, 0);"> $Son(</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">UserPassT</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">).value </span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">&quot;&quot;</span><span style="color: rgb(0, 0, 0);">)<br>
&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $Son(</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">UserEditB</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">).disabled </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">;<br>
&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);"> $Son(</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">UserEditB</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">).disabled </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;<br>
}</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;  该JS表示当两个BOX都不为空的时候,把button的enable为true,而按扭原始的设置我定了enable=false,于是错误出现了,具体表现为按扭按下后,虽然验证控件已经提示错误,但按扭事件仍然回发并执行.验证控件失效了.</p>
<p>&nbsp;&nbsp;&nbsp;  经过反复研究,原因原来不在验证控件上,而在按扭的那个enable设置上,如果一开始就设定它为false,那么就算通过JS将其转换为true,验证 一样会失效,要解决这个问题,必须让button在一开始的时候enable就为true,而我页面需要一开始的时候button为不可操作状态,而是通 过上面的JS来变化它的enable,于是用了下面的代码</p>
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><span style="color: rgb(0, 0, 0);">window.onload </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">()<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp; $Son(</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">UserEditB</span><span style="color: rgb(0, 0, 0);">&quot;</span><span style="color: rgb(0, 0, 0);">).disabled </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">;<br>
}</span></div>
</div>
<p>&nbsp;&nbsp;&nbsp;  然后把button的enable值设为true或默认不设置,这样,页面加载后,button实际是enable=true的,只是利用JS变成了false,</p>
<p>&nbsp;&nbsp;  通过这点可以表明,验证控件要想起作用,button的enable以及和JS的联合运作很重要,JS有时只起到外观作用的变化,并没让HTML源码实际改变,而AJAX似乎很遵循这些细节,因此请仔细检查控件、控件属性以及JS的互动吧。</p>
<p>&nbsp;&nbsp;  另外说点，如果把验证控件的EnableClientScript=&quot;False&quot;再放入updatepanel，那么一定不会执行验证</p> <a href="http://hi.baidu.com/mrx1005/blog/item/7b2fe83f860654c47c1e7124.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/7b2fe83f860654c47c1e7124.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-22  16:54</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/7b2fe83f860654c47c1e7124.html</guid>
</item>

<item>
        <title><![CDATA[JavaScript验证正则表达式大全]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/caaef53d82ead5c19f3d62b0.html]]></link>
        <description><![CDATA[
		
		匹配中文字符的正则表达式： [\u4E00-\uFA29]
<p>评注：匹配中文还真是个头疼的事，有了这个表达式就好办了<br>
<br>
匹配双字节字符(包括汉字在内)：[^x00-xff]<br>
评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）<br>
<br>
匹配空白行的正则表达式：ns*r<br>
评注：可以用来删除空白行<br>
<br>
匹配HTML标记的正则表达式：&lt; (S*?)[^&gt;]*&gt;.*?|&lt; .*? /&gt;<br>
评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力<br>
<br>
匹配首尾空白字符的正则表达式：^s*|s*$<br>
评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式<br>
<br>
匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*<br>
评注：表单验证时很实用<br>
<br>
匹配网址URL的正则表达式：[a-zA-z]+://[^s]*<br>
评注：网上流传的版本功能很有限，上面这个基本可以满足需求<br>
<br>
匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<br>
评注：表单验证时很实用<br>
<br>
匹配国内电话号码：d{3}-d{8}|d{4}-d{7}<br>
评注：匹配形式如 0511-4405222 或 021-87888822<br>
<br>
匹配腾讯QQ号：[1-9][0-9]{4,}<br>
评注：腾讯QQ号从10000开始<br>
<br>
匹配中国邮政编码：[1-9]d{5}(?!d)<br>
评注：中国邮政编码为6位数字<br>
<br>
匹配身份证：d{15}|d{18}<br>
评注：中国的身份证为15位或18位<br>
<br>
匹配ip地址：d+.d+.d+.d+<br>
评注：提取ip地址时有用<br>
<br>
<br>
匹配特定数字：<br>
^[1-9]d*$　 　 //匹配正整数<br>
^-[1-9]d*$ 　 //匹配负整数<br>
^-?[1-9]d*$　　 //匹配整数<br>
^[1-9]d*|0$　 //匹配非负整数（正整数 + 0）<br>
^-[1-9]d*|0$　　 //匹配非正整数（负整数 + 0）<br>
^[1-9]d*.d*|0.d*[1-9]d*$　　 //匹配正浮点数<br>
^-([1-9]d*.d*|0.d*[1-9]d*)$　 //匹配负浮点数<br>
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$　 //匹配浮点数<br>
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）<br>
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$　　//匹配非正浮点数（负浮点数 + 0）<br>
评注：处理大量数据时有用，具体应用时注意修正<br>
<br>
匹配特定字符串：<br>
^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串<br>
^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串<br>
^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串<br>
^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串<br>
^w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串<br>
<br>
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:<br>
只能输入数字：&ldquo;^[0-9]*$&rdquo;<br>
只能输入n位的数字：&ldquo;^d{n}$&rdquo;<br>
只能输入至少n位数字：&ldquo;^d{n,}$&rdquo;<br>
只能输入m-n位的数字：&ldquo;^d{m,n}$&rdquo;<br>
只能输入零和非零开头的数字：&ldquo;^(0|[1-9][0-9]*)$&rdquo;<br>
只能输入有两位小数的正实数：&ldquo;^[0-9]+(.[0-9]{2})?$&rdquo;<br>
只能输入有1-3位小数的正实数：&ldquo;^[0-9]+(.[0-9]{1,3})?$&rdquo;<br>
只能输入非零的正整数：&ldquo;^+?[1-9][0-9]*$&rdquo;<br>
只能输入非零的负整数：&ldquo;^-[1-9][0-9]*$&rdquo;<br>
只能输入长度为3的字符：&ldquo;^.{3}$&rdquo;<br>
只能输入由26个英文字母组成的字符串：&ldquo;^[A-Za-z]+$&rdquo;<br>
只能输入由26个大写英文字母组成的字符串：&ldquo;^[A-Z]+$&rdquo;<br>
只能输入由26个小写英文字母组成的字符串：&ldquo;^[a-z]+$&rdquo;<br>
只能输入由数字和26个英文字母组成的字符串：&ldquo;^[A-Za-z0-9]+$&rdquo;<br>
只能输入由数字、26个英文字母或者下划线组成的字符串：&ldquo;^w+$&rdquo;<br>
验证用户密码:&ldquo;^[a-zA-Z]w{5,17}$&rdquo;正确格式为：以字母开头，长度在6-18之间，<br>
<br>
<br>
只能包含字符、数字和下划线。<br>
验证是否含有^%&amp;',;=?$&quot;等字符：&ldquo;[^%&amp;',;=?$x22]+&rdquo;<br>
只能输入汉字：&ldquo;^[u4e00-u9fa5],{0,}$&rdquo;<br>
验证Email地址：&ldquo;^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$&rdquo;<br>
验证InternetURL：&ldquo;^http://([w-]+.)+[w-]+(/[w-./?%&amp;=]*)?$&rdquo;<br>
验证电话号码：&ldquo;^((d{3,4})|d{3,4}-)?d{7,8}$&rdquo;<br>
<br>
<br>
正确格式为：&ldquo;XXXX-XXXXXXX&rdquo;，&ldquo;XXXX-XXXXXXXX&rdquo;，&ldquo;XXX-XXXXXXX&rdquo;，<br>
<br>
<br>
&ldquo;XXX-XXXXXXXX&rdquo;，&ldquo;XXXXXXX&rdquo;，&ldquo;XXXXXXXX&rdquo;。<br>
验证身份证号（15位或18位数字）：&ldquo;^d{15}|d{}18$&rdquo;<br>
验证一年的12个月：&ldquo;^(0?[1-9]|1[0-2])$&rdquo;正确格式为：&ldquo;01&rdquo;-&ldquo;09&rdquo;和&ldquo;1&rdquo;&ldquo;12&rdquo;<br>
验证一个月的31天：&ldquo;^((0?[1-9])|((1|2)[0-9])|30|31)$&rdquo;<br>
<br>
<br>
正确格式为：&ldquo;01&rdquo;&ldquo;09&rdquo;和&ldquo;1&rdquo;&ldquo;31&rdquo;。<br>
<br>
<br>
匹配中文字符的正则表达式： [\u4E00-\uFA29]</p>
<p>匹配双字节字符(包括汉字在内)：[^x00-xff]<br>
匹配空行的正则表达式：n[s| ]*r<br>
匹配HTML标记的正则表达式：/&lt; (.*)&gt;.*|&lt; (.*) /&gt;/ <br>
匹配首尾空格的正则表达式：(^s*)|(s*$)<br>
匹配Email地址的正则表达式：w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*<br>
匹配网址URL的正则表达式：http://([w-]+.)+[w-]+(/[w- ./?%&amp;=]*)?<br>
<br>
(1)应用：计算字符串的长度（一个双字节字符长度计2，ASCII字符计1） <br>
String.prototype.len=function(){return this.replace([^x00-xff]/g,&quot;aa&quot;).length;}<br>
<br>
(2)应用：javascript中没有像vbscript那样的trim函数，我们就可以利用这个表达式来实现<br>
String.prototype.trim = function()<br>
{<br>
return this.replace(/(^s*)|(s*$)/g, &quot;&quot;);<br>
}<br>
(3)应用：利用正则表达式分解和转换IP地址<br>
function IP2V(ip) //IP地址转换成对应数值<br>
{<br>
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式<br>
if(re.test(ip))<br>
{<br>
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1<br>
}<br>
else<br>
{<br>
throw new Error(&quot;Not a valid IP address!&quot;)<br>
}<br>
}<br>
(4)应用：从URL地址中提取文件名的javascript程序<br>
s=&quot;http://www.9499.net/page1.htm&quot;;<br>
s=s.replace(/(.*/){0,}([^.]+).*/ig,&quot;$2&quot;) ; //Page1.htm<br>
(5)应用：利用正则表达式限制网页表单里的文本框输入内容<br>
用正则表达式限制只能输入中文：onkeyup=&quot;value=&quot;/blog/value.replace(/[&quot;^u4E00-u9FA5] /g,'') &quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))&quot;<br>
用正则表达式限制只能输入全角字符： onkeyup=&quot;value=&quot;/blog/value.replace(/[&quot;^uFF00-uFFFF]/g,'') &quot; onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))&quot;<br>
用正则表达式限制只能输入数字：onkeyup=&quot;value=&quot;/blog/value.replace(/[&quot;^d]/g,'') &quot;onbeforepaste= &quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))&quot;<br>
用正则表达式限制只能输入数字和英文：onkeyup=&quot;value=&quot;/blog/value.replace(/[W]/g,&quot;'') &quot;onbeforepaste=&quot;clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''</p> <a href="http://hi.baidu.com/mrx1005/blog/item/caaef53d82ead5c19f3d62b0.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/Javascript">Javascript</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/caaef53d82ead5c19f3d62b0.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-21  14:52</pubDate>
        <category><![CDATA[Javascript]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/caaef53d82ead5c19f3d62b0.html</guid>
</item>

<item>
        <title><![CDATA[无刷新三级连动用户控件2]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/a214332465cb3b35c995597e.html]]></link>
        <description><![CDATA[
		
		<br>
<pre style="border-right: black 1px solid; padding-right: 4px; border-top: black 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: black 1px solid; padding-top: 4px; border-bottom: black 1px solid; background-color: #ededed"><span style="color: #000000">1</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">@ Control Language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">C#</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> AutoEventWireup</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">true</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> CodeFile</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">ThreeLevelDropdownList.ascx.cs</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> Inherits</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">controls_ThreeLevelDropdownList</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000">
2</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:DropDownList </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;ddl1&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
3</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:DropDownList</span><span style="color: #0000ff">&gt;</span><span style="color: #ff0000">&amp;nbsp;&amp;nbsp;</span><span style="color: #000000">
4</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:DropDownList </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;ddl2&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
5</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ListItem </span><span style="color: #ff0000">Text</span><span style="color: #0000ff">=&quot;请选择&quot;</span><span style="color: #ff0000"> Value</span><span style="color: #0000ff">=&quot;0&quot;</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">asp:ListItem</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
6</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:DropDownList</span><span style="color: #0000ff">&gt;</span><span style="color: #ff0000">&amp;nbsp;&amp;nbsp;</span><span style="color: #000000">
7</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:DropDownList </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;ddl3&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
8</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:ListItem </span><span style="color: #ff0000">Text</span><span style="color: #0000ff">=&quot;请选择&quot;</span><span style="color: #ff0000"> Value</span><span style="color: #0000ff">=&quot;0&quot;</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">asp:ListItem</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
9</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">asp:DropDownList</span><span style="color: #0000ff">&gt;</span><span style="color: #ff0000">&amp;nbsp;&amp;nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">
10
11</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:HiddenField </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;hdf1&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">asp:HiddenField </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;hdf2&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">asp:HiddenField </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;hdf3&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">
12</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script </span><span style="color: #ff0000">type</span><span style="color: #0000ff">=&quot;text/javascript&quot;</span><span style="color: #ff0000"> language</span><span style="color: #0000ff">=&quot;javascript&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">13</span><span style="color: #000000; background-color: #f5f5f5">&lt;!--</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">14</span><span style="color: #000000; background-color: #f5f5f5">       </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">常用JS函数</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">15</span><span style="color: #000000; background-color: #f5f5f5">       </span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5"> getBid(s){
</span><span style="color: #000000; background-color: #f5f5f5">16</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5"> document.getElementById(s);
</span><span style="color: #000000; background-color: #f5f5f5">17</span><span style="color: #000000; background-color: #f5f5f5">        }
</span><span style="color: #000000; background-color: #f5f5f5">18</span><span style="color: #000000; background-color: #f5f5f5">        </span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5"> getBmc(s){
</span><span style="color: #000000; background-color: #f5f5f5">19</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5"> document.getElementByName(s);
</span><span style="color: #000000; background-color: #f5f5f5">20</span><span style="color: #000000; background-color: #f5f5f5">        }
</span><span style="color: #000000; background-color: #f5f5f5">21</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">22</span><span style="color: #000000; background-color: #f5f5f5">       </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">显示分类列表</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">23</span><span style="color: #000000; background-color: #f5f5f5">       </span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5"> showNext(sid,obj,type)
</span><span style="color: #000000; background-color: #f5f5f5">24</span><span style="color: #000000; background-color: #f5f5f5">        {
</span><span style="color: #000000; background-color: #f5f5f5">25</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(sid</span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #0000ff; background-color: #f5f5f5">null</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">||</span><span style="color: #000000; background-color: #f5f5f5"> sid</span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #000000; background-color: #f5f5f5">&quot;&quot;</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">||</span><span style="color: #000000; background-color: #f5f5f5"> sid.length</span><span style="color: #000000; background-color: #f5f5f5">&lt;</span><span style="color: #000000; background-color: #f5f5f5">1</span><span style="color: #000000; background-color: #f5f5f5">)</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">;
</span><span style="color: #000000; background-color: #f5f5f5">26</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5"> slt </span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">getBid(obj);
</span><span style="color: #000000; background-color: #f5f5f5">27</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5"> v </span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5"> controls_ThreeLevelDropdownList.GetLevelList(sid,type).value; </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5"> 类的名称</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">28</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">29</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">30</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5"> (v </span><span style="color: #000000; background-color: #f5f5f5">!=</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #0000ff; background-color: #f5f5f5">null</span><span style="color: #000000; background-color: #f5f5f5">){
</span><span style="color: #000000; background-color: #f5f5f5">31</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(v </span><span style="color: #000000; background-color: #f5f5f5">!=</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #0000ff; background-color: #f5f5f5">null</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">&amp;&amp;</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #0000ff; background-color: #f5f5f5">typeof</span><span style="color: #000000; background-color: #f5f5f5">(v) </span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">object</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">&amp;&amp;</span><span style="color: #000000; background-color: #f5f5f5"> v.Tables </span><span style="color: #000000; background-color: #f5f5f5">!=</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #0000ff; background-color: #f5f5f5">null</span><span style="color: #000000; background-color: #f5f5f5">)
</span><span style="color: #000000; background-color: #f5f5f5">32</span><span style="color: #000000; background-color: #f5f5f5">                    {
</span><span style="color: #000000; background-color: #f5f5f5">33</span><span style="color: #000000; background-color: #f5f5f5">                        slt.length </span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">;
</span><span style="color: #000000; background-color: #f5f5f5">34</span><span style="color: #000000; background-color: #f5f5f5">                        slt.options.add(</span><span style="color: #0000ff; background-color: #f5f5f5">new</span><span style="color: #000000; background-color: #f5f5f5"> Option(</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">请选择</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">,</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">));
</span><span style="color: #000000; background-color: #f5f5f5">35</span><span style="color: #000000; background-color: #f5f5f5">                        </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">加了个&ldquo;请选择&rdquo;主要为了触发onchange事件</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">36</span><span style="color: #000000; background-color: #f5f5f5">                        </span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(obj</span><span style="color: #000000; background-color: #f5f5f5">==</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">ddl2</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">){
</span><span style="color: #000000; background-color: #f5f5f5">37</span><span style="color: #000000; background-color: #f5f5f5">                        getBid(</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">ddl3</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">).options.length</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">;
</span><span style="color: #000000; background-color: #f5f5f5">38</span><span style="color: #000000; background-color: #f5f5f5">                        getBid(</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">ddl3</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">).options.add(</span><span style="color: #0000ff; background-color: #f5f5f5">new</span><span style="color: #000000; background-color: #f5f5f5"> Option(</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">请选择</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">,</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">));
</span><span style="color: #000000; background-color: #f5f5f5">39</span><span style="color: #000000; background-color: #f5f5f5">                        }
</span><span style="color: #000000; background-color: #f5f5f5">40</span><span style="color: #000000; background-color: #f5f5f5">                        </span><span style="color: #0000ff; background-color: #f5f5f5">for</span><span style="color: #000000; background-color: #f5f5f5">(</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5"> i</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">; i</span><span style="color: #000000; background-color: #f5f5f5">&lt;</span><span style="color: #000000; background-color: #f5f5f5">v.Tables[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].Rows.length; i</span><span style="color: #000000; background-color: #f5f5f5">++</span><span style="color: #000000; background-color: #f5f5f5">)
</span><span style="color: #000000; background-color: #f5f5f5">41</span><span style="color: #000000; background-color: #f5f5f5">                 {
</span><span style="color: #000000; background-color: #f5f5f5">42</span><span style="color: #000000; background-color: #f5f5f5">                     </span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5"> txt </span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5"> v.Tables[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].Rows[i].txt; </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">这个地方需要注意区分大小写</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">43</span><span style="color: #000000; background-color: #f5f5f5">                 </span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5"> val </span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5"> v.Tables[</span><span style="color: #000000; background-color: #f5f5f5">0</span><span style="color: #000000; background-color: #f5f5f5">].Rows[i].val; </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">跟dataset表的列名称要一致</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">44</span><span style="color: #000000; background-color: #f5f5f5">                 slt.options.add(</span><span style="color: #0000ff; background-color: #f5f5f5">new</span><span style="color: #000000; background-color: #f5f5f5"> Option(txt,val));
</span><span style="color: #000000; background-color: #f5f5f5">45</span><span style="color: #000000; background-color: #f5f5f5">                 }
</span><span style="color: #000000; background-color: #f5f5f5">46</span><span style="color: #000000; background-color: #f5f5f5">                    }
</span><span style="color: #000000; background-color: #f5f5f5">47</span><span style="color: #000000; background-color: #f5f5f5">           }
</span><span style="color: #000000; background-color: #f5f5f5">48</span><span style="color: #000000; background-color: #f5f5f5">           </span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">;
</span><span style="color: #000000; background-color: #f5f5f5">49</span><span style="color: #000000; background-color: #f5f5f5">        }
</span><span style="color: #000000; background-color: #f5f5f5">50</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">51</span><span style="color: #000000; background-color: #f5f5f5">        </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">保留Select中选择的值</span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">52</span><span style="color: #000000; background-color: #f5f5f5">        </span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5"> selectValue(sid,obHdf)
</span><span style="color: #000000; background-color: #f5f5f5">53</span><span style="color: #000000; background-color: #f5f5f5">        {
</span><span style="color: #000000; background-color: #f5f5f5">54</span><span style="color: #000000; background-color: #f5f5f5">          getBid(obHdf).value</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">sid;
</span><span style="color: #000000; background-color: #f5f5f5">55</span><span style="color: #000000; background-color: #f5f5f5">          </span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">alert(getBid(obHdf).value);   </span><span style="color: #008000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">56</span><span style="color: #000000; background-color: #f5f5f5">        }
</span><span style="color: #000000; background-color: #f5f5f5">57</span><span style="color: #000000; background-color: #f5f5f5">        </span><span style="color: #000000; background-color: #f5f5f5">--&gt;</span><span style="color: #000000; background-color: #f5f5f5">
</span><span style="color: #000000; background-color: #f5f5f5">58</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
59</span></pre>
<pre style="border-right: black 1px solid; padding-right: 4px; border-top: black 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: black 1px solid; padding-top: 4px; border-bottom: black 1px solid; background-color: #ededed"><span style="color: #000000">1</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">@ Register TagPrefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">uc1</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> TagName</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">ThreeLevelDropdownList</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> Src</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">http://www.cnblogs.com/controls/ThreeLevelDropdownList.ascx</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> </span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000">
2</span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span style="color: #000000; background-color: #f5f5f5">@ Page Language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">C#</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> AutoEventWireup</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">true</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> CodeFile</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">JobList.aspx.cs</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5"> Inherits</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">Manager_Job_JobList</span><span style="color: #000000; background-color: #f5f5f5">&quot;</span><span style="color: #000000; background-color: #f5f5f5">  </span><span style="color: #000000; background-color: #ffff00">%&gt;</span><span style="color: #000000">
3
4</span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
5
6</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html </span><span style="color: #ff0000">xmlns</span><span style="color: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="color: #ff0000"> </span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
7</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head </span><span style="color: #ff0000">runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
8    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">无标题页</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
9</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
10</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
11    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form </span><span style="color: #ff0000">id</span><span style="color: #0000ff">=&quot;form1&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
12    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
13      所在地区</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">uc1:ThreeLevelDropdownList </span><span style="color: #ff0000">id</span><span style="color: #0000ff">=&quot;threeLevelDDL1&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000">  </span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">uc1:ThreeLevelDropdownList</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">br </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">
14      工作类型</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">uc1:ThreeLevelDropdownList </span><span style="color: #ff0000">id</span><span style="color: #0000ff">=&quot;threeLevelDDL2&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000">  </span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">uc1:ThreeLevelDropdownList</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">br </span><span style="color: #0000ff">/&gt;&lt;</span><span style="color: #800000">br </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">
15        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">asp:Button </span><span style="color: #ff0000">ID</span><span style="color: #0000ff">=&quot;Button1&quot;</span><span style="color: #ff0000"> runat</span><span style="color: #0000ff">=&quot;server&quot;</span><span style="color: #ff0000"> Text</span><span style="color: #0000ff">=&quot;Button&quot;</span><span style="color: #ff0000"> </span><span style="color: #0000ff">/&gt;</span><span style="color: #000000">
16    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
17    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
18</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">
19</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></pre>
<pre style="border-right: black 1px solid; padding-right: 4px; border-top: black 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: black 1px solid; padding-top: 4px; border-bottom: black 1px solid; background-color: #ededed"><span style="color: #000000">1</span><span style="color: #0000ff">using</span><span style="color: #000000"> System;
2</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Data;
3</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Configuration;
4</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Collections;
5</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web;
6</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.Security;
7</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI;
8</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.WebControls;
9</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.WebControls.WebParts;
10</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.HtmlControls;
</span><span style="color: #000000">11</span><span style="color: #000000">
12</span><span style="color: #0000ff">public</span><span style="color: #000000"> partial </span><span style="color: #0000ff">class</span><span style="color: #000000"> Manager_Job_JobList : System.Web.UI.Page
</span><span style="color: #000000">13</span><span style="color: #000000">{
</span><span style="color: #000000">14</span><span style="color: #000000">
</span><span style="color: #000000">15</span><span style="color: #000000">    </span><span style="color: #0000ff">protected</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> Page_Load(</span><span style="color: #0000ff">object</span><span style="color: #000000"> sender, EventArgs e)
</span><span style="color: #000000">16</span><span style="color: #000000">    {
</span><span style="color: #000000">17</span><span style="color: #000000">
</span><span style="color: #000000">18</span><span style="color: #000000">        </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">IsPostBack)
</span><span style="color: #000000">19</span><span style="color: #000000">        {
</span><span style="color: #000000">20</span><span style="color: #000000">            </span><span style="color: #008000">/**//*</span><span style="color: #008000">3级连动初始化</span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">21</span><span style="color: #000000">            </span><span style="color: #008000">//</span><span style="color: #008000">1 供求信息 2人才招聘 3地区</span><span style="color: #008000">
</span><span style="color: #000000">22</span><span style="color: #000000">            threeLevelDDL1.Type </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">3</span><span style="color: #000000">&quot;</span><span style="color: #000000">;
</span><span style="color: #000000">23</span><span style="color: #000000">            threeLevelDDL2.Type </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">2</span><span style="color: #000000">&quot;</span><span style="color: #000000">;
</span><span style="color: #000000">24</span><span style="color: #000000">            </span><span style="color: #008000">/**//*</span><span style="color: #008000">3级连动初始化</span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">25</span><span style="color: #000000">
</span><span style="color: #000000">26</span><span style="color: #000000">
</span><span style="color: #000000">27</span><span style="color: #000000">
</span><span style="color: #000000">28</span><span style="color: #000000">            </span><span style="color: #008000">/**//*</span><span style="color: #008000">=========================获取选择值  服务端方法 =========================================</span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">29</span><span style="color: #000000">               </span><span style="color: #008000">//</span><span style="color: #008000"> string type1=threeLevelDDL1.selValue1;</span><span style="color: #008000">
</span><span style="color: #000000">30</span><span style="color: #000000">               </span><span style="color: #008000">//</span><span style="color: #008000"> string type2 = threeLevelDDL1.selValue2;</span><span style="color: #008000">
</span><span style="color: #000000">31</span><span style="color: #000000">               </span><span style="color: #008000">//</span><span style="color: #008000"> string type3 = threeLevelDDL1.selValue3;      </span><span style="color: #008000">
</span><span style="color: #000000">32</span><span style="color: #000000">             </span><span style="color: #008000">/**//*</span><span style="color: #008000">========================================================================================</span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">33</span><span style="color: #000000">
</span><span style="color: #000000">34</span><span style="color: #000000">
</span><span style="color: #000000">35</span><span style="color: #000000">            </span><span style="color: #008000">/**//*</span><span style="color: #008000">========================获取选择值   客户端方法======================================</span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">36</span><span style="color: #000000">
</span><span style="color: #000000">37</span><span style="color: #000000">             </span><span style="color: #008000">//</span><span style="color: #008000">用户控件id+&quot;_&quot;+hdf1 =hdf1的clientId    保存的是第一级下拉的值，其他类推</span><span style="color: #008000">
</span><span style="color: #000000">38</span><span style="color: #000000">             </span><span style="color: #008000">//
</span><span style="color: #000000">39</span><span style="color: #000000">            </span><span style="color: #008000">/**//*</span><span style="color: #008000">====================================================================================== </span><span style="color: #008000">*/</span><span style="color: #000000">
</span><span style="color: #000000">40</span><span style="color: #000000">        }
</span><span style="color: #000000">41</span><span style="color: #000000">    }
</span><span style="color: #000000">42</span><span style="color: #000000">}
</span></pre> <a href="http://hi.baidu.com/mrx1005/blog/item/a214332465cb3b35c995597e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/a214332465cb3b35c995597e.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-16  11:22</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/a214332465cb3b35c995597e.html</guid>
</item>

<item>
        <title><![CDATA[无刷新三级连动用户控件1]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/5db80629fb9e02f898250a7e.html]]></link>
        <description><![CDATA[
		
		<p>1、AjaxPro的ajax框架 <br>
<br>
  不是我不想用微软的asp.net ajax框架来实现，只是据说udatePanel是一种局部显示、但仍然是整页回传到局部更新，另外微软的ajax每个页面，都必须要一个scriptmanager，麻烦了点，最主要的是本人项目不是soa的，所以客户端调用服务的方法都是页面方法，而不是Service method，于是先天上早已决定了，不能使用AjaxControlToolkit现成的联动控件CascadingDropDown，如果你的项目是soa的你可以选择CascadingDropDown；由于以上原因，选择了相对&ldquo;原始&rdquo;的Ajax框架AjaxPro.2（2.0版本），不过使用很简单 <br>
<br>
  2、给用户控件增加属性</p>
<pre style="border-right: black 1px solid; padding-right: 4px; border-top: black 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: black 1px solid; padding-top: 4px; border-bottom: black 1px solid; background-color: #ededed"><span style="color: #000000">1</span><span style="color: #008000">//</span><span style="color: #008000">标记不同类型的类别</span><span style="color: #008000">
</span><span style="color: #000000"> 2</span><span style="color: #0000ff">public</span><span style="color: #000000">  </span><span style="color: #0000ff">string</span><span style="color: #000000"> Type
</span><span style="color: #000000">3</span><span style="color: #000000">    {
</span><span style="color: #000000">4</span><span style="color: #000000">        </span><span style="color: #0000ff">set</span><span style="color: #000000"> {ViewState[</span><span style="color: #000000">&quot;</span><span style="color: #000000">type</span><span style="color: #000000">&quot;</span><span style="color: #000000">]</span><span style="color: #000000">=</span><span style="color: #000000">value;}
</span><span style="color: #000000">5</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> ViewState[</span><span style="color: #000000">&quot;</span><span style="color: #000000">type</span><span style="color: #000000">&quot;</span><span style="color: #000000">].ToString(); }
</span><span style="color: #000000">6</span><span style="color: #000000">
</span><span style="color: #000000">7</span><span style="color: #000000">    }
</span><span style="color: #000000">8</span><span style="color: #000000">
</span><span style="color: #000000">9</span><span style="color: #008000">//</span><span style="color: #008000">提供对下拉框1的选择值到访问</span><span style="color: #008000">
</span><span style="color: #000000">10</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue1
</span><span style="color: #000000">11</span><span style="color: #000000">    {
</span><span style="color: #000000">12</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf1.Value; }
</span><span style="color: #000000">13</span><span style="color: #000000">
</span><span style="color: #000000">14</span><span style="color: #000000">    }
</span><span style="color: #000000">15</span><span style="color: #000000">
</span><span style="color: #000000">16</span><span style="color: #008000">//</span><span style="color: #008000">提供对下拉框2的选择值到访问</span><span style="color: #008000">
</span><span style="color: #000000">17</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue2
</span><span style="color: #000000">18</span><span style="color: #000000">    {
</span><span style="color: #000000">19</span><span style="color: #000000">
</span><span style="color: #000000">20</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf2.Value; }
</span><span style="color: #000000">21</span><span style="color: #000000">
</span><span style="color: #000000">22</span><span style="color: #000000">    }
</span><span style="color: #000000">23</span><span style="color: #000000">
</span><span style="color: #000000">24</span><span style="color: #008000">//</span><span style="color: #008000">提供对下拉框3的选择值到访问</span><span style="color: #008000">
</span><span style="color: #000000">25</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue3
</span><span style="color: #000000">26</span><span style="color: #000000">    {
</span><span style="color: #000000">27</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf3.Value; }
</span><span style="color: #000000">28</span><span style="color: #000000">
</span><span style="color: #000000">29</span><span style="color: #000000">    }</span></pre>
<pre style="border-right: black 1px solid; padding-right: 4px; border-top: black 1px solid; padding-left: 4px; padding-bottom: 4px; border-left: black 1px solid; padding-top: 4px; border-bottom: black 1px solid; background-color: #ededed"><span style="color: #000000">1</span><span style="color: #0000ff">using</span><span style="color: #000000"> System;
2</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Data;
3</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Configuration;
4</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Collections;
5</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web;
6</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.Security;
7</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI;
8</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.WebControls;
9</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.WebControls.WebParts;
10</span><span style="color: #0000ff">using</span><span style="color: #000000"> System.Web.UI.HtmlControls;
</span><span style="color: #000000">11</span><span style="color: #000000">
</span><span style="color: #000000">12</span><span style="color: #000000">
13</span><span style="color: #0000ff">public</span><span style="color: #000000"> partial </span><span style="color: #0000ff">class</span><span style="color: #000000"> controls_ThreeLevelDropdownList : System.Web.UI.UserControl
</span><span style="color: #000000">14</span><span style="color: #000000">{
</span><span style="color: #000000">15</span><span style="color: #000000">
</span><span style="color: #000000">16</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000">  </span><span style="color: #0000ff">string</span><span style="color: #000000"> Type
</span><span style="color: #000000">17</span><span style="color: #000000">    {
</span><span style="color: #000000">18</span><span style="color: #000000">        </span><span style="color: #0000ff">set</span><span style="color: #000000"> {ViewState[</span><span style="color: #000000">&quot;</span><span style="color: #000000">type</span><span style="color: #000000">&quot;</span><span style="color: #000000">]</span><span style="color: #000000">=</span><span style="color: #000000">value;}
</span><span style="color: #000000">19</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> ViewState[</span><span style="color: #000000">&quot;</span><span style="color: #000000">type</span><span style="color: #000000">&quot;</span><span style="color: #000000">].ToString(); }
</span><span style="color: #000000">20</span><span style="color: #000000">
</span><span style="color: #000000">21</span><span style="color: #000000">    }
</span><span style="color: #000000">22</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue1
</span><span style="color: #000000">23</span><span style="color: #000000">    {
</span><span style="color: #000000">24</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf1.Value; }
</span><span style="color: #000000">25</span><span style="color: #000000">
</span><span style="color: #000000">26</span><span style="color: #000000">    }
</span><span style="color: #000000">27</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue2
</span><span style="color: #000000">28</span><span style="color: #000000">    {
</span><span style="color: #000000">29</span><span style="color: #000000">
</span><span style="color: #000000">30</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf2.Value; }
</span><span style="color: #000000">31</span><span style="color: #000000">
</span><span style="color: #000000">32</span><span style="color: #000000">    }
</span><span style="color: #000000">33</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> selValue3
</span><span style="color: #000000">34</span><span style="color: #000000">    {
</span><span style="color: #000000">35</span><span style="color: #000000">        </span><span style="color: #0000ff">get</span><span style="color: #000000"> { </span><span style="color: #0000ff">return</span><span style="color: #000000"> hdf3.Value; }
</span><span style="color: #000000">36</span><span style="color: #000000">
</span><span style="color: #000000">37</span><span style="color: #000000">    }
</span><span style="color: #000000">38</span><span style="color: #000000">
</span><span style="color: #000000">39</span><span style="color: #000000">
</span><span style="color: #000000">40</span><span style="color: #000000">    </span><span style="color: #0000ff">protected</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> Page_Load(</span><span style="color: #0000ff">object</span><span style="color: #000000"> sender, EventArgs e)
</span><span style="color: #000000">41</span><span style="color: #000000">    {
</span><span style="color: #000000">42</span><span style="color: #000000">
</span><span style="color: #000000">43</span><span style="color: #000000">        </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">IsPostBack)
</span><span style="color: #000000">44</span><span style="color: #000000">        {
</span><span style="color: #000000">45</span><span style="color: #000000">            AjaxPro.Utility.RegisterTypeForAjax(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(controls_ThreeLevelDropdownList)); </span><span style="color: #008000">//</span><span style="color: #008000">必要的</span><span style="color: #008000">
</span><span style="color: #000000">46</span><span style="color: #000000">
</span><span style="color: #000000">47</span><span style="color: #000000">            ddl1.Attributes.Add(</span><span style="color: #000000">&quot;</span><span style="color: #000000">onchange</span><span style="color: #000000">&quot;</span><span style="color: #000000">, </span><span style="color: #000000">&quot;</span><span style="color: #000000">showNext(this.options[selectedIndex].value,'</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> ddl2.ClientID </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">','</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> Type </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">');selectValue(this.options[selectedIndex].value,'</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> hdf1.ClientID </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">');</span><span style="color: #000000">&quot;</span><span style="color: #000000">);
</span><span style="color: #000000">48</span><span style="color: #000000">            ddl2.Attributes.Add(</span><span style="color: #000000">&quot;</span><span style="color: #000000">onchange</span><span style="color: #000000">&quot;</span><span style="color: #000000">, </span><span style="color: #000000">&quot;</span><span style="color: #000000">showNext(this.options[selectedIndex].value,'</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> ddl3.ClientID </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">','</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> Type </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">');selectValue(this.options[selectedIndex].value,'</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> hdf2.ClientID </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">');</span><span style="color: #000000">&quot;</span><span style="color: #000000">);
</span><span style="color: #000000">49</span><span style="color: #000000">            ddl3.Attributes.Add(</span><span style="color: #000000">&quot;</span><span style="color: #000000">onchange</span><span style="color: #000000">&quot;</span><span style="color: #000000">, </span><span style="color: #000000">&quot;</span><span style="color: #000000">selectValue(this.options[selectedIndex].value,'</span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000">hdf3.ClientID</span><span style="color: #000000">+</span><span style="color: #000000">&quot;</span><span style="color: #000000">');</span><span style="color: #000000">&quot;</span><span style="color: #000000">);
</span><span style="color: #000000">50</span><span style="color: #000000">
</span><span style="color: #000000">51</span><span style="color: #000000">            ddl1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000"> ListItem(</span><span style="color: #000000">&quot;</span><span style="color: #000000">请选择</span><span style="color: #000000">&quot;</span><span style="color: #000000">,</span><span style="color: #000000">&quot;</span><span style="color: #000000">0</span><span style="color: #000000">&quot;</span><span style="color: #000000">));
</span><span style="color: #000000">52</span><span style="color: #000000">            DataSet ds </span><span style="color: #000000">=</span><span style="color: #000000"> GetLevelList(</span><span style="color: #000000">&quot;</span><span style="color: #000000">0</span><span style="color: #000000">&quot;</span><span style="color: #000000">, Type);
</span><span style="color: #000000">53</span><span style="color: #000000">
</span><span style="color: #000000">54</span><span style="color: #000000">            </span><span style="color: #0000ff">if</span><span style="color: #000000"> (ds </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000"> </span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000"> ds.Tables[</span><span style="color: #000000">0</span><span style="color: #000000">].Rows.Count </span><span style="color: #000000">&gt;</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">)
</span><span style="color: #000000">55</span><span style="color: #000000">            {
</span><span style="color: #000000">56</span><span style="color: #000000">               </span><span style="color: #0000ff">foreach</span><span style="color: #000000">(DataRow dr </span><span style="color: #0000ff">in</span><span style="color: #000000"> ds.Tables[</span><span style="color: #000000">0</span><span style="color: #000000">].Rows)
</span><span style="color: #000000">57</span><span style="color: #000000">               {
</span><span style="color: #000000">58</span><span style="color: #000000">                   ddl1.Items.Add(</span><span style="color: #0000ff">new</span><span style="color: #000000"> ListItem(dr[</span><span style="color: #000000">&quot;</span><span style="color: #000000">txt</span><span style="color: #000000">&quot;</span><span style="color: #000000">].ToString(), dr[</span><span style="color: #000000">&quot;</span><span style="color: #000000">val</span><span style="color: #000000">&quot;</span><span style="color: #000000">].ToString()));
</span><span style="color: #000000">59</span><span style="color: #000000">               }
</span><span style="color: #000000">60</span><span style="color: #000000">
</span><span style="color: #000000">61</span><span style="color: #000000">            }
</span><span style="color: #000000">62</span><span style="color: #000000">            ddl1.SelectedValue </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">0</span><span style="color: #000000">&quot;</span><span style="color: #000000">;
</span><span style="color: #000000">63</span><span style="color: #000000">        }
</span><span style="color: #000000">64</span><span style="color: #000000">    }
</span><span style="color: #000000">65</span><span style="color: #000000">
</span><span style="color: #000000">66</span><span style="color: #000000">    [AjaxPro.AjaxMethod]
</span><span style="color: #000000">67</span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000">   DataSet GetLevelList(</span><span style="color: #0000ff">string</span><span style="color: #000000"> parentId,</span><span style="color: #0000ff">string</span><span style="color: #000000"> type)
</span><span style="color: #000000">68</span><span style="color: #000000">    {
</span><span style="color: #000000">69</span><span style="color: #000000">        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Dao.CategoryDao().getListDs(type, parentId);
</span><span style="color: #000000">70</span><span style="color: #000000">
</span><span style="color: #000000">71</span><span style="color: #000000">    }
</span><span style="color: #000000">72</span><span style="color: #000000">}
</span><span style="color: #000000">73</span></pre> <a href="http://hi.baidu.com/mrx1005/blog/item/5db80629fb9e02f898250a7e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/5db80629fb9e02f898250a7e.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-16  11:21</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/5db80629fb9e02f898250a7e.html</guid>
</item>

<item>
        <title><![CDATA[ajaxPro.dll基础教程]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/837a9fccc61e6d1600e92812.html]]></link>
        <description><![CDATA[
		
		<div class="postbody"><font size="2">AJAX技术的风起云涌，也使得B/S应用的表现力日益增强，大有逐步吞食C/S领地之势。<span style="color: red">利用ajaxpro.dll，你可以从JavaScript客户调用.NET方法</span>。&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  首先下载ajaxpro.dll，你可以从</font><a href="http://www.ajaxpro.info/">http://www.ajaxpro.info/</a><a href="http://www.schwarz-interactive.de/"></a><font size="2">获得。最新版本是6.4.15.1，下载解压后的文件夹中有个AjaxPro.dll，就是它了。使用VS2005新建web项目,并添加对AjaxPro.dll的引用，然后在Web配置文件中添加：<br>
</font>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">httpHandlers</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">add verb</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">POST,GET</span><span style="color: #000000">&quot;</span><span style="color: #000000"> path</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">ajaxpro/*.ashx</span><span style="color: #000000">&quot;</span><span style="color: #000000"> type</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">AjaxPro.AjaxHandlerFactory, AjaxPro</span><span style="color: #000000">&quot;</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">httpHandlers</span><span style="color: #000000">&gt;</span></div>
<br>
&nbsp;&nbsp;&nbsp;  这个配置项表明所有的ajaxpro/*.ashx请求（即从客户发送的Ajax请求）都交给AjaxPro.AjaxHandlerFactory处理，而不是由默认的System.Web.UI.PageHandlerFactory来处理。 <br>
&nbsp;&nbsp;&nbsp;  新建的web项目有个默认的_Default页面，我们为其加上命名空间如MyAjaxNetTest，然后在_Default的HTML第一句也要加上这个名目空间：<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&lt;%</span><span style="color: #000000">@ Page Language</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">C#</span><span style="color: #000000">&quot;</span><span style="color: #000000"> AutoEventWireup</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">true</span><span style="color: #000000">&quot;</span><span style="color: #000000">&nbsp;&nbsp; CodeFile</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">Default.aspx.cs</span><span style="color: #000000">&quot;</span><span style="color: #000000"> Inherits</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">MyAjaxNetTest._Default</span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">%&gt;</span></div>
<span style="font-size: 10pt; ">&nbsp;&nbsp;&nbsp;  然后在PageLoad中注册本页面到AjaxPro中：<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  protected</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> Page_Load(</span><span style="color: #0000ff">object</span><span style="color: #000000"> sender, EventArgs e)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AjaxPro.Utility.RegisterTypeForAjax(</span><span style="color: #0000ff">typeof</span><span style="color: #000000">(_Default)); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
</span><br>
<font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;  <strong>测试一</strong>：</font><br>
<font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;  </font><span style="font-size: 10pt; ">一切已经准备就绪了，我们先进行第一个测试，从客户调用服务端的简单方法。首先在_Default类中添加方法：<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  [<span style="color: red">AjaxPro.AjaxMethod</span>]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> GetServerTime()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000"> DateTime.Now.ToString();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
</span><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;</font><span style="font-size: 10pt"><font face="Verdana"> 客户现在可以在JS中调用这个方法了，如<br>
</font></span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">script type</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">text/javascript</span><span style="color: #000000">&quot;</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function getTime()<br>
&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; alert(MyAjaxNetTest._Default.<span style="color: red">GetServerTime</span>().value);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span></div>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;  <span style="font-size: 10pt; ">然后你可以加个HTML的button，onclick处理函数设为getTime()。<br>
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #000000">&lt;</span><span style="color: #000000">input id</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">Button1</span><span style="color: #000000">&quot;</span><span style="color: #000000"> type</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">button</span><span style="color: #000000">&quot;</span><span style="color: #000000"> value</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">button</span><span style="color: #000000">&quot;</span><span style="color: #000000"> onclick</span><span style="color: #000000">=</span><span style="color: #000000">&quot;</span><span style="color: #000000">getTime()</span><span style="color: #000000">&quot;</span><span style="color: #000000">/&gt;</span></div>
<br>
<font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;  <strong>测试二</strong>：</font>&nbsp;&nbsp;&nbsp;&nbsp;<br>
<span style="font-size: 10pt; ">&nbsp;&nbsp;&nbsp;  为GetServerTime方法添加static修饰，测试仍然成功!<br>
<br>
    <strong>测试三</strong>：<font size="3"> </font><br>
&nbsp;&nbsp;&nbsp;  简单方法调用已经OK了，GetServerTime方法返回的是一个简单的string,那么服务端可不可以返回稍微复杂一点的对象了？我们来试试。先新建一个Student类：<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Student<br>
&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> Name </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">sky</span><span style="color: #000000">&quot;</span><span style="color: #000000"> ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;  Age </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">26</span><span style="color: #000000">;<br>
&nbsp;&nbsp;&nbsp;  }</span></div>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; 服务端添加GetStudent方法：<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  [AjaxPro.AjaxMethod]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> Student GetStudent()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Student();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
<br>
</span><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;  </font><span style="font-size: 10pt; ">对应的，客户端添加调用：<br>
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  function getStudent()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var stu </span><span style="color: #000000">=</span><span style="color: #000000"> MyAjaxNetTest._Default.GetStudent().value ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(stu.Name </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> stu.Age) ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
<br>
&nbsp;&nbsp;&nbsp;  <span style="font-size: 10pt; ">依照前面的加个HTML按钮测试getStudent函数，答案是，一切照我们预料的进行，客户js可以访问服务端返回的对象。<br>
<br>
&nbsp;&nbsp;&nbsp;  <strong>测试四</strong>：<br>
</span>&nbsp;&nbsp;&nbsp;  <span style="font-size: 10pt; ">最后看看能够在客户端提交对象给服务器，先在服务端添加方法：<br>
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #008080">1</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000"> Student student </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br>
</span><span style="color: #008080">2</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [AjaxPro.AjaxMethod]<br>
</span><span style="color: #008080">3</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> SetStudent(Student stu)<br>
</span><span style="color: #008080">4</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
</span><span style="color: #008080">5</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.student </span><span style="color: #000000">=</span><span style="color: #000000"> stu;<br>
</span><span style="color: #008080">6</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000"> name </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">this</span><span style="color: #000000">.student.Name;<br>
</span><span style="color: #008080">7</span> <span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-size: 10pt; ">可以在第六行添加断点，然后当客户端调用时，会进入该断点。<br>
<br>
&nbsp;&nbsp;&nbsp;  客户端添加调用：<br>
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;  function putStudent()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var stu </span><span style="color: #000000">=</span><span style="color: #000000"> MyAjaxNetTest._Default.GetStudent().value ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stu.Name </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">chenqi</span><span style="color: #000000">&quot;</span><span style="color: #000000"> ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAjaxNetTest._Default.SetStudent(stu) ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
&nbsp;&nbsp;&nbsp;<span style="font-size: 10pt; "> 同样，当调用putStudent这个js方法时，服务端进入断点已经表明客户成功的提交了对象，并且对象的Name字段已经改变为&ldquo;chenqi&rdquo;了。<br>
<br>
&nbsp;&nbsp;&nbsp;  <strong>测试五</strong>：<br>
&nbsp;&nbsp;&nbsp;  前面客户设置的都是Student的public字段，那么访问属性如何了？我们将Student定义更改如下：</span><br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 10pt; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid;  background-color: #eeeeee"><span style="color: #000000"> </span><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;  public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Student<br>
&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> name </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&quot;</span><span style="color: #000000">sky</span><span style="color: #000000">&quot;</span><span style="color: #000000"> ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">int</span><span style="color: #000000"> Age </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">26</span><span style="color: #000000">;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000"> Name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">get</span><span style="color: #000000"><br>
&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="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">this</span><span style="color: #000000">.name;<br>
&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;</span><span style="color: #0000ff">set</span><span style="color: #000000"><br>
&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="color: #0000ff">this</span><span style="color: #000000">.name </span><span style="color: #000000">=</span><span style="color: #000000"> value;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
<p>&nbsp;&nbsp;&nbsp;  <span style="font-size: 10pt; ">再重复前面的测试，结果我想已经在你的料想中了。<br>
<br>
&nbsp;&nbsp;&nbsp;  单从前面的几个小测试，我已经发现了使用Ajaxpro.dll的方便与迅捷，看来B/S开发不再像我以前感受的那样繁琐了。<br>
<br>
</span></p>
<p><span style="font-size: 10pt; ">异步调用： </span>
<p> </p>
<div class="cnblogs_code"><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000"> getValue() <br>
&nbsp;&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyAjaxNetTest._Default.getValue(getGroups_callback); <br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000"> getGroups_callback(response) <br>
&nbsp;&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000"> dt </span><span style="color: #000000">=</span><span style="color: #000000"> response.value; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(dt); <br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
</span></div>
<p> </p>
<p> </p>
<p><span style="font-size: 10pt; "> </span><font face="宋体" size="3"> </font></p>
<p><br>
*****************************************************************<br>
<strong>Ajax基础<br>
</strong>（1）创建XmlHttp对象</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<p><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function createXMLHttp()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</span></p>
<p><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  var xmlHttp ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(window.ActiveXObject)<br>
&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;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> ActiveXObject(</span><span style="color: #000000">&quot;</span><span style="color: #000000">Microsoft.XMLHTTP</span><span style="color: #000000">&quot;</span><span style="color: #000000">) ;<br>
&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="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000">(window.XMLHttpRequest)<br>
&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;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> XMLHttpRequest() ;<br>
&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;  return xmlHttp;&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; }</span></p>
</div>
<br>
（2）POST Ajax请求<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  function startRequest()<br>
&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;</span><span style="color: #000000"> var xmlHttp=createXMLHttp() ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.onreadystatechange </span><span style="color: #000000">=</span><span style="color: #000000"> <span style="color: #000000">handleStateChangeComplex</span> ;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.open(</span><span style="color: #000000">&quot;</span><span style="color: #000000">POST</span><span style="color: #000000">&quot;</span><span style="color: #000000"> ,</span><span style="color: #000000">&quot;</span><span style="color: #000000">Default.aspx?timeStamp=</span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Date().getTime(),</span><span style="color: #0000ff">true</span><span style="color: #000000">) ; //true为异步  false为同步<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.setRequestHeader(</span><span style="color: #000000">&quot;</span><span style="color: #000000">CONTENT-TYPE</span><span style="color: #000000">&quot;</span><span style="color: #000000">,</span><span style="color: #000000">&quot;</span><span style="color: #000000">application/x-www-form-urlencoded</span><span style="color: #000000">&quot;</span><span style="color: #000000">) ;//Post方式首部设置，必须<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.send(null)</span><span style="color: #000000">; //send方法必须要，参数一般为null<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
&nbsp;&nbsp;&nbsp;  <br>
<br>
（3）处理异步结果<br>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  function handleStateChangeComplex()<br>
&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="color: #0000ff">if</span><span style="color: #000000">(xmlHttp.readyState </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">4</span><span style="color: #000000">)<br>
&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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(xmlHttp.status </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">200</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; {<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; document.getElementById(</span><span style="color: #000000">&quot;</span><span style="color: #000000">results</span><span style="color: #000000">&quot;</span><span style="color: #000000">).innerText </span><span style="color: #000000">=</span><span style="color: #000000"> xmlHttp.<span style="color: #000000">responseText</span> ;<br>
&nbsp;&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; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
<p> </p>
<p>get方式 同步：</p>
<div class="cnblogs_code"><span style="color: #0000ff">function</span><span style="color: #000000"> tb(){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">var</span><span style="color: #000000"> xmlHttp</span><span style="color: #000000">=</span><span style="color: #000000">createXMLHttp();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.open(</span><span style="color: #000000">&quot;</span><span style="color: #000000">get</span><span style="color: #000000">&quot;</span><span style="color: #000000">,</span><span style="color: #000000">&quot;</span><span style="color: #000000">http://localhost/Test/myFile.txt?timeStamp=</span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Date().getTime(),</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlHttp.send(</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(</span><span style="color: #000000">&quot;</span><span style="color: #000000">Status is </span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000">xmlHttp.status</span><span style="color: #000000">+</span><span style="color: #000000">&quot;</span><span style="color: #000000"> (</span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000">xmlHttp.statusText</span><span style="color: #000000">+</span><span style="color: #000000">&quot;</span><span style="color: #000000">)</span><span style="color: #000000">&quot;</span><span style="color: #000000">);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(</span><span style="color: #000000">&quot;</span><span style="color: #000000">Response Text is: </span><span style="color: #000000">&quot;</span><span style="color: #000000">+</span><span style="color: #000000">xmlHttp.responseText);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  //载入xml文件时可以用 xmlHttp.<font face="Verdana">responseXML.documentElement.tagName</font>  获取xml文件内数据<br>
&nbsp;&nbsp;&nbsp;&nbsp; }</span></div>
</p>
</div> <a href="http://hi.baidu.com/mrx1005/blog/item/837a9fccc61e6d1600e92812.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/ajax%D6%AA%CA%B6">ajax知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/837a9fccc61e6d1600e92812.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-15  15:10</pubDate>
        <category><![CDATA[ajax知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/837a9fccc61e6d1600e92812.html</guid>
</item>

<item>
        <title><![CDATA[关于.net中获取用户控件的值的问题]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/2a711b7fc6bde70e29388a25.html]]></link>
        <description><![CDATA[
		
		<p>假设有一用户控件a.ascx 里面有两个服务器控件&lt;asp:TextBox runat=&quot;server&quot; ID=&quot;txtUserName&quot;&gt;&lt;/asp:TextBox&gt;</p>
<p>&lt;asp:Button ID=&quot;btnSubmit&quot; runat=&quot;server&quot; Text=&quot;提交&quot;/&gt;</p>
<p>如果在b.aspx中使用了a.ascx 怎么在b.aspx中获取控件txtUserName的Text值呢?</p>
<p>首先 在a.ascx中定义一个属性 public Strin UserName</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  get{return txtUserName.Text;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }</p>
<p>可以直接在b.aspx中使用 userControl.UserName得到a.ascx中txtUserName的Text值</p>
<p>二..假设有一个select 标签 如&lt;select runat=&quot;server&quot; id=&quot;dpCity&quot;&gt;&lt;/select&gt;</p>
<p>假设城市列表由ajax动态生成 在后台cs中是无法直接取得dpCity的值</p>
<p>必须使用Request.Form[dpCity.UniqueID]得到dpCity的值 Request.Form使用的是客户端的name名获取其值的</p>
<p>下面这个不错：</p>
<p>expose   a   public   property   in   depart.ascx:   <br>
    <br>
  public   string   SelectedValue   <br>
  {   <br>
      get   {   return   DropDownList1.SelectedValue;}   <br>
  }   <br>
    <br>
  or   if   you   are   lazy,   try   <br>
    <br>
  DropDownList   ddl   =   (DropDownList)YourUserControlID.FindControl(&quot;YourDropDownListID&quot;);   <br>
  string   s   =   ddl.SelectedValue;</p> <a href="http://hi.baidu.com/mrx1005/blog/item/2a711b7fc6bde70e29388a25.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/2a711b7fc6bde70e29388a25.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-15  13:21</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/2a711b7fc6bde70e29388a25.html</guid>
</item>

<item>
        <title><![CDATA[GridView模板列如何给button绑定数据 然后按用这个button传送ID？]]></title>
        <link><![CDATA[http://hi.baidu.com/mrx1005/blog/item/2a711b7ff5e3ca0e29388a1f.html]]></link>
        <description><![CDATA[
		
		<dl class="code"><dt>HTML code</dt><dd>
<pre><div><span style="color: rgb(0, 0, 0);">           </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">asp:TemplateField</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>                </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">ItemTemplate</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>                    </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">asp:Button </span><span style="color: rgb(255, 0, 0);">ID</span><span style="color: rgb(0, 0, 255);">=&quot;Button2&quot;</span><span style="color: rgb(255, 0, 0);"> runat</span><span style="color: rgb(0, 0, 255);">=&quot;server&quot;</span><span style="color: rgb(255, 0, 0);"> CommandArgument</span><span style="color: rgb(0, 0, 255);">='&lt;%# </span><span style="color: rgb(255, 0, 0);">Eval(&quot;ID&quot;) %</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">' <br>                        oncommand=&quot;Button2_Command&quot; Text=&quot;删除&quot; OnClientClick=&quot;return confirm('确定要删除该列吗？')&quot;/&gt;<br>                </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">ItemTemplate</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br>            </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">asp:TemplateField</span><span style="color: rgb(0, 0, 255);">&gt;</span></div></pre>
</dd></dl> <br>
<dl class="code"><dt>C# code</dt><dd>
<pre><div><span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">protected</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> Button2_Command(</span><span style="color: rgb(0, 0, 255);">object</span><span style="color: rgb(0, 0, 0);"> sender, CommandEventArgs e)<br>        {<br>            </span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);"> (e.CommandArgument.ToString() </span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 0);">&quot;&quot;</span><span style="color: rgb(0, 0, 0);">)</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">ID</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">            {<br>               </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">...</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 0);">            }<br>          }</span></div></pre>
</dd></dl> <a href="http://hi.baidu.com/mrx1005/blog/item/2a711b7ff5e3ca0e29388a1f.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/mrx1005/blog/category/asp%2Enet%20%D6%AA%CA%B6">asp.net 知识</a>&nbsp;<a href="http://hi.baidu.com/mrx1005/blog/item/2a711b7ff5e3ca0e29388a1f.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-06  16:07</pubDate>
        <category><![CDATA[asp.net 知识]]></category>
        <author><![CDATA[mrx1005]]></author>
		<guid>http://hi.baidu.com/mrx1005/blog/item/2a711b7ff5e3ca0e29388a1f.html</guid>
</item>


</channel>
</rss>