﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-张锋.NET</title><link>http://www.cnblogs.com/hbzxf/</link><description>www.sjzrc.cn(石家庄人才)</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 12:37:26 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 12:37:26 GMT</pubDate><ttl>60</ttl><item><title>94个比付费软件更好的免费软件</title><link>http://www.cnblogs.com/hbzxf/archive/2009/04/06/1430311.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 06 Apr 2009 08:09:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2009/04/06/1430311.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/1430311.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2009/04/06/1430311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/1430311.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/1430311.html</trackback:ping><description><![CDATA[　　最好的网页浏览器 <br /><br />　　FireFox。FireFox是一款非常受欢迎的浏览器，它有比IE更高的安全性与用户可定制性，能自动升级，快速标签浏览，更好的隐私保密设置，一个整合的搜索框，还有书签，而这些仅仅只是Firefox最基本的功能，你还可以下载不计其数的插件来扩展它的功能。FireFox主页及下载地址：<a href="http://www.mozilla.com/firefox/" target="_blank"><font color="#006699">http://www.mozilla.com/firefox/</font></a> <br /><br />　　Opera。Opera是另一款非常有名的浏览器，它有许多与FireFox相同的功能，速度快，小巧是它的最大特点。<a href="http://www.opera.com/" target="_blank"><font color="#006699">http://www.opera.com/</font></a> <br /><br />　　最好的BT下载客户端<br /><br />　　Azureus是一款使用Java语言编写的BT下载客户端，支持多任务下载，（种子或者普通文件）队列下载/优先权下载，用户设置开始/停止引晶，以及快速获取大量种子资料的功能。Acureus使用内惬式Tracker，让你管理自己的种子更容易。&#181;Torrent是一款非常小巧且高效的BT下载客户端，支持频宽管理,排程, RSS自动下载，Mainline DHT(与BitComet兼容)。<br /><br />　　Azureus：<a href="http://azureus.sourceforge.net/" target="_blank"><font color="#006699">http://azureus.sourceforge.net/</font></a><br /><br />　　&#181;Torrent。<a href="http://www.utorrent.com/" target="_blank"><font color="#006699">http://www.utorrent.com/</font></a> <br /><br />　　最好的多协议公共下载软件<br /><br />　　Shareaze是一款受评价极高的多协议P2P下载软件，支持Edonkey200，Gnetella，Gnetella2(G2)以及BitTorrent四种流行网络类型。<br /><br />　　Shareaza：<a href="http://www.shareaza.com/" target="_blank"><font color="#006699">http://www.shareaza.com/</font></a> <br /><br />　　最好的FTP客户端<br /><br />　　两个最好的FTP客户端FileZilla与 SmartFTP都有着非常强大的功能。<br /><br />　　FileZilla：<a href="http://filezilla.sourceforge.net/" target="_blank"><font color="#006699">http://filezilla.sourceforge.net/</font></a> <br /><br />　　SmartFTP：<a href="http://www.smartftp.com/" target="_blank"><font color="#006699">http://www.smartftp.com/</font></a> <br /><br />　　最好的聊天软件<br /><br />　　特别突出的两个聊天软件是 Gaim/Pidgin和Trillian，这两个都是多平台的，Gaim能同时登陆AIM、ICQ、MSN Messenger、Yahoo!、IRC、Jabber、Gadu-Gadu、SILC、GroupWise Messeger和Zephyr等平台，而Trillain是一款可以自己更换皮肤的多平台聊天软件，支持AIM、ICQ、MSN、Yahoo! Messenger和IRC，Trillain同时还有很多其它同类软件所有没有的功能。<br /><br />　　Gaim/Pidgin：<a href="http://pidgin.im/pidgin/home/" target="_blank"><font color="#006699">http://pidgin.im/pidgin/home/</font></a> <br /><br />　　Trillian：<a href="http://www.ceruleanstudios.com/" target="_blank"><font color="#006699">http://www.ceruleanstudios.com/</font></a> <br /><br />　　最好的AIM病毒查杀软件<br /><br />　　AIM FIX就是为了用一款强大的清除工具来清除所有已知AIM病毒而设计的，AIM Fix:<a href="http://www.jayloden.com/software.htm" target="_blank"><font color="#006699">http://www.jayloden.com/software.htm</font></a> <br /><br />　　最好的电话软件<br /><br />　　这些软件允许你免费与别人通话，你所需的仅仅只是一个耳机和一个麦克风，Skype具有超强的加密技术与较高的音质，除了Skype之外的一款替代品为Gizmo Project。Skype:<a href="http://www.skype.com/" target="_blank"><font color="#006699">http://www.skype.com/</font></a> Gizmo Project:<a href="http://www.sipphone.com/" target="_blank"><font color="#006699">http://www.sipphone.com/</font></a> <br /><br />　　最好的下载软件<br /><br />　　工作效率最高的几个下载软件莫过于Flash Get，Getright和Free Download Manager，它们都是多线程下载，下载速度可以比普通下载高100-600%，它们甚至能够修复已破损的下载。FlashGet:<a href="http://www.flashget.com/index_en.htm" target="_blank"><font color="#006699">http://www.flashget.com/index_en.htm</font></a> GetRight:<a href="http://www.getright.com/" target="_blank"><font color="#006699">http://www.getright.com/</font></a> Free Download Manager:<a href="http://www.freedownloadmanager.org/" target="_blank"><font color="#006699">http://www.freedownloadmanager.org/</font></a> <br /><br />　　最好的Gmail文件传输工具<br /><br />　　这里有一个非常好的软件，它允许你将你的文件上传备份到你的Gmail的邮箱空间，它就是Gmail Drive。Gmail Drive:<a href="http://www.viksoe.dk/code/gmail.htm" target="_blank"><font color="#006699">http://www.viksoe.dk/code/gmail.htm</font></a> <br /><br />　　最好的Email客户端<br /><br />　　Mozilla的另一款经典软件，Thunderbird，它是一个全功能的电子邮件客户端,功能包括垃圾邮件过滤,反钓鱼保护,增强的电子安全氏族,并能自动更新，还有非常多的插件可供选择以增强它的功能。Thunderbird:<a href="http://www.mozilla.com/thunderbird/" target="_blank"><font color="#006699">http://www.mozilla.com/thunderbird/</font></a> <br /><br />　　最好的博客发布软件<br /><br />　　w.blogger是一款非常好的博客工具，它仅仅只有一个模板和一个文章编辑器却能与很多不同类型的博客站协同工作，包括Blogger,并且它不像其它博客工具，它发表文章并不要求你的博客是建立在FTP空间上的。w.bloggar:<a href="http://wbloggar.com/" target="_blank"><font color="#006699">http://wbloggar.com/</font></a> <br /><br />　　最好的IRC客户端<br /><br />　　除mIRC之外，其它受欢迎的IRC客户端有IceChat与HydraIRC。HydraIRC:<a href="http://www.hydrairc.com/" target="_blank"><font color="#006699">http://www.hydrairc.com/</font></a> IceChat: <a href="http://www.icechat.net/site/" target="_blank"><font color="#006699">http://www.icechat.net/site/</font></a> <br /><br />　　最好的IRC扩展<br /><br />　　NoNamescrīpt是一个非常好的IRC插件，很值得在mIRC上安装。NoNamescrīpt:<a href="http://blog.cfan.com.cn/index.php/section=download" target="_blank"><font color="#006699">http://www.nnscrīpt.de/index.php?section=download</font></a> <br /><br />　　<font color="#3b5998"><u>最好的反间谍软件</u></font><br /><br />　　Spybot、Ad-aware、WindowsDefender与Spyware Blaster都是非常不错的反间谍软件，前三个软件都有自己特殊的功能，包括实时扫描、加密文件删除、历史痕迹清除等，而Spyware Guard（像Anti-Virus）更多的是一款实时扫描工具，而Spyware Blaster并不是一款扫描工具，但是它能阻止间谍软件安装到你的电脑，尽管这四个软件并不是100%有效，但我们还是推荐他们。Spybot:<a href="http://www.safer-networking.org/en/" target="_blank"><font color="#006699">http://www.safer-networking.org/en/</font></a> Ad-Aware SE Personal:<a href="http://www.lavasoft.de/software/adaware/" target="_blank"><font color="#006699">http://www.lavasoft.de/software/adaware/</font></a> Windows Defender:<a href="http://tinyurl.com/dyvaw" target="_blank"><font color="#006699">http://tinyurl.com/dyvaw</font></a> SpywareGuard:<a href="http://www.javacoolsoftware.com/spywareguard.html" target="_blank"><font color="#006699">http://www.javacoolsoftware.com/spywareguard.html</font></a> Spyware Blaster:<a href="http://www.javacoolsoftware.com/spywareblaster.html" target="_blank"><font color="#006699">http://www.javacoolsoftware.com/spywareblaster.html</font></a> <br /><br />　　最好的杀毒软件<br /><br />　　Grisoft出品的AVG是一款非常受欢迎的杀毒软件，它能自动升级、实时扫描以及邮件扫描。另一个非常好的软件是AntiVirPersonalEdition Classic,与前者的功能有很多类似，但要记住一点，免费软件与收费软件之间是有很大差距的。ClamWin也是非常好的杀毒软件之一，他是开源软件ClamAV的一部分。AVG:<a href="http://free.grisoft.com/doc/1" target="_blank"><font color="#006699">http://free.grisoft.com/doc/1</font></a> AntiVir PersonalEdition Classic:<a href="http://www.free-av.com/" target="_blank"><font color="#006699">http://www.free-av.com/</font></a> ClamWin:<a href="http://www.clamwin.com/" target="_blank"><font color="#006699">http://www.clamwin.com/</font></a> <br /><br />　　最好的防火墙软件<br /><br />　　最好的防火墙软件莫过于ZoneAlarm，他非常适合初级用户，因为它简单；同时它也适合高级用户，因为它有更多的高级功能。ZoneAlarm Free:<a href="http://www.zonealarm.com/store/content/catalog/products/sku_list_za.jsp" target="_blank"><font color="#006699">http://www.zonealarm.com/store/content/catalog/products/sku_list_za.jsp</font></a> <br /><br />　　最好的Anti-Rootkit软件<br /><br />　　AVG Anti-Rootkit能清理你系统中的隐藏程序和进程，安全检测和清除在您的计算机系统里隐藏的所有rootkit项目。AVG Ant-Rootkit:<a href="http://free.grisoft.com/doc/1" target="_blank"><font color="#006699">http://free.grisoft.com/doc/1</font></a> <br /><br />　　做好的诊断工具<br /><br />　　Ultimate Boot CD是一款非常棒的系统引导工具，它能恢复已损坏的计算机，去已经在很多电脑与笔记本上使用过他了。Ultimate Boot CD:<a href="http://www.ultimatebootcd.com/" target="_blank"><font color="#006699">http://www.ultimatebootcd.com/</font></a> <br /><br />　　最好的磁盘清理工具<br /><br />　　CCleaner，它清除了我以为已经通过Disk Cleaner清除掉了的15G未使用数据以及网络缓存。他能安全地清理磁盘并且能扫描垃圾注册表信息，加速你的计算机。他还能帮你完全清除上网时产生的Cookie，保护你的网站数据。CCleaner:<a href="http://www.ccleaner.com/" target="_blank"><font color="#006699">http://www.ccleaner.com/</font></a> <br /><br />　　最好的文件删除软件<br /><br />　　Eraser是一款Win系统上安全性那个非常高的先进软件，通过它详细且安全的选择系统，你能擦除或改写系统内的敏感信息 。Eraser:<a href="http://www.heidi.ie/eraser/" target="_blank"><font color="#006699">http://www.heidi.ie/eraser/</font></a> <br /><br />　　最好的文件加密软件<br /><br />　　推荐的三款软件是GNU Privacy Gaurd、TrueCrypt、and Blowfish Advanced CS。GNU是PGP的完美替代者，它是基于命令行操作的，并不适合初级用户，但是Blowfish Advanced CS使用多重晕算法、以及非常有效率的数据压缩和安全钥匙处理对文件进行安全保护。TrueCrypt可以创建虚拟加密磁盘，或者加密整个磁盘和其它储存器（如U盘），并且它是用双重密码保护，以防止他人破解你的密码。Blowfish Advanced CS:<a href="http://www.hotpixel.net/software.html" target="_blank"><font color="#006699">http://www.hotpixel.net/software.html</font></a> TrueCrypt:<a href="http://www.truecrypt.org/" target="_blank"><font color="#006699">http://www.truecrypt.org/</font></a> GNU Privacy Gaurd:<a href="http://www.gnupg.org/" target="_blank"><font color="#006699">http://www.gnupg.org/</font></a> Guide to GNU Privacy Gaurd:<a href="http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html" target="_blank"><font color="#006699">http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html</font></a> <br /><br />　　最好的MD5码创建/校验器<br /><br />　　这个开源软件时使用L. Peter Deutsch的 MD5码来进行MD5码计算，它使用最广的就是使用它来确定用户下载的文件是否被损坏，有很多网站在其下载页面提供MD5码，当你下载网文件后，使用winMD5Sum从你下载的文件上提取MD5码，在与网页上提供的进行对比看是否相同，如果相同，则你下载的文件是完整正确的。winMD5Sum:<a href="http://www.nullriver.com/index/products/winmd5sum" target="_blank"><font color="#006699">http://www.nullriver.com/index/products/winmd5sum</font></a> <br /><br />　　最好的文件解锁软件<br /><br />　　Unlocker是Windows Explorer的拓展，它允许你通过简单的右键单击文件或文件夹来清除错误信息，如：删除问价或文件夹错误；不能删除该文件夹：它现在正在被使用！。Unlocker:<a href="http://ccollomb.free.fr/unlocker/" target="_blank"><font color="#006699">http://ccollomb.free.fr/unlocker/</font></a> <br /><br />　　最好的图片处理软件<br /><br />　　GIMP与Paint.NET 是最好的两个图片处理软件，GIMP更像Photoshop，它还有一个特别版本，看起来非常像Photoshop（为的是更好上手）。Piant.NET是一款MS画图软件的完美替代者，除了画图软件有的功能之外，他还增加了很多Photoshop才有的功能。The GIMP:<a href="http://www.gimp.org/" target="_blank"><font color="#006699">http://www.gimp.org/</font></a> GIMP Shop:<a href="http://blog.cfan.com.cn/index.php/page_id=294" target="_blank"><font color="#006699">http://plasticbugs.com/?page_id=294</font></a> Paint.NET:<a href="http://www.getpaint.net/index2.html" target="_blank"><font color="#006699">http://www.getpaint.net/index2.html</font></a> <br /><br />　　最好的矢量图编辑软件<br /><br />　　Inkscape 是一款开源的矢量图编辑软件，其功能像Illustrator、Freehand、CorelDraw或Xara X ，都是使用 W3C 可缩放矢量图形标准『Scalable Vector Graphics (SVG) 』INKSCAPE:<a href="http://www.inkscape.org/" target="_blank"><font color="#006699">http://www.inkscape.org/</font></a> <br /><br />　　最好的图片查看/编辑软件<br /><br />　　IrfanView 支持很多图片格式，并且通过插件，它还能用来视频、Flash以及一些音频文件。Picasa，他能编辑图片并能搜索计算机内存出的图片。另一款是FastStone Image Viewer，它是一款非常快速、稳定、用户友好的图片查看、格式转换以及编辑软件。IrfanView:<a href="http://www.irfanview.com/" target="_blank"><font color="#006699">http://www.irfanview.com/</font></a> IrfanView Plugin/Addons:<a href="http://www.tucows.com/preview/415586" target="_blank"><font color="#006699">http://www.tucows.com/preview/415586</font></a> Picasa:<a href="http://picasa.google.com/" target="_blank"><font color="#006699">http://picasa.google.com/</font></a> FastStone Image Viewer:<a href="http://www.faststone.org/FSViewerDetail.htm" target="_blank"><font color="#006699">http://www.faststone.org/FSViewerDetail.htm</font></a> <br /><br />　　最好的数字相册软件<br /><br />　　InAlbum Lite 是一款非常容易使用的相册软件，通过它，你可以很轻易地将大量的相片制作成极好的幻灯片。InAlbum Lite:<a href="http://www.softpedia.com/get/Authoring-tools/Digital-Album/InAlbum-Lite.shtml" target="_blank"><font color="#006699">http://www.softpedia.com/get/Authoring-tools/Digital-Album/InAlbum-Lite.shtml</font></a> <br /><br />　　最好的3-D三维软件<br /><br />　　Blender是最好的开源三维建模、动画、渲染、后期制作、交互式创作和回放软件。Blender:<a href="http://www.blender.org/" target="_blank"><font color="#006699">http://www.blender.org/</font></a> <br /><br />　　最好的配色工具<br /><br />　　Color Schemer ColorPix 是一款非常小巧的配色工具，他能对色彩进行非常精确的定位，并可以将其转换成很多种色彩格式。你还可以使用其内置的放大镜工具放大观看，它还可以在所有软件之上显示，当然，他还是一款免安装的绿色软件。Color Schemer ColorPix:<a href="http://www.colorschemer.com/colorpix_info.php" target="_blank"><font color="#006699">http://www.colorschemer.com/colorpix_info.php</font></a> <br /><br />　　最好的虚拟磁盘工具<br /><br />　　如果你想不使用CD或DVD就运行.ISO或者CD镜像，推荐你使用DAEMON Tools---一款免安装的工具。DAEMON Tools:<a href="http://www.daemon-tools.cc/dtcc/download.php" target="_blank"><font color="#006699">http://www.daemon-tools.cc/dtcc/download.php</font></a><br /><br />　　<strong>最好的DVD解密器</strong><br /><br />　　就像其名字所告诉我们的，DVDDecrypter允许你将DVD复制到你的磁盘里，并且将其转换成MPEG1（VCD）或者DivX格式，他还能通过"ISO模块&#8220;将镜像文件写如CD或DVD。另一款软件是DVDFabHDDecrypter，他也能将DVD里的电影复制到磁盘里，并可以在赋值的同时清除所有保密措施(CSS,RC,RCE,APS,UOPsandSonyARccOS)，当然它还支持HD-DVD他蓝光DVD（Blu-Ray）。<br /><br />　　<strong>DVDDecryptor</strong>:<a href="http://www.filehippo.com/download_dvd_decrypter/" target="_blank"><font color="#24528e">http://www.filehippo.com/download_dvd_decrypter/</font></a><br /><br />　　<strong>DVDFabHDDecrypter</strong>:<a href="http://www.dvdfab.com/free.htm" target="_blank"><font color="#24528e">http://www.dvdfab.com/free.htm</font></a><br /><br />　　<strong>最好的DVD压缩软件</strong><br /><br />　　ratDVD是一款功能齐全的DVD压缩软件，它能将DVD-9进行高度压缩，它能将整张DVD压缩至1.xGB左右的大小。<br /><br />　　<strong>ratDVD</strong>:<a href="http://ratdvd.ca/" target="_blank"><font color="#24528e">http://ratdvd.ca/</font></a><br /><br />　　<strong>最好的CD/DVD烧录软件</strong><br /><br />　　CDBurnerXPPro是一款专业的CD/DVD烧录软件，并且支持ISO镜像创建功能，它运行非常快，并且拥有几乎所有你能想到的功能。<br /><br />　　<strong>CDBurnerXPPro</strong>:<a href="http://www.cdburnerxp.se/" target="_blank"><font color="#24528e">http://www.cdburnerxp.se/</font></a><br /><br />　　如果你是Ubuntu和Linux用户，毋庸置疑，选择肯定是<strong>K3b</strong>!(<a href="http://k3b.plainblack.com/" target="_blank"><font color="#24528e">http://k3b.plainblack.com/</font></a>)<br /><br />　　<strong>最好的MPEG---DVD转换软件</strong><br /><br />　　不管是自己拍摄或者从网上获得，你总是会想把MPEG视屏烧录到DVD里保存，DVDBuilder就是你当之无愧的选择，它快速，最重要的是，它是免费的。<br /><br />　　<strong>DVDBuilder</strong>:<a href="http://www.keronsoft.com/dvdbuilder.html" target="_blank"><font color="#24528e">http://www.keronsoft.com/dvdbuilder.html</font></a><br /><br />　　<strong>最好的视频播放器/解码器</strong><br /><br />　　K-LiteMegaCodecPack几乎可以播放在地球上你能找到的所有格式的视频，而GSpot则是一款按需安装的播放器---你需要什么样的解码器，就下载安装什么。<strong><br /><br />　　</strong><br /><br />　　<strong>K-LiteMegaCodecPack</strong>:<a href="http://www.codecguide.com/about_mega.htm" target="_blank"><font color="#24528e">http://www.codecguide.com/about_mega.htm</font></a><br /><br />　　<strong>K-LiteCodecPackFull(Lessfeatures)</strong>:<a href="http://codecguide.com/features_full.htm#full" target="_blank"><font color="#24528e">http://codecguide.com/features_full.htm#full</font></a><br /><br />　　<strong>GSpot</strong>:<a href="http://www.free-codecs.com/download/GSpot.htm" target="_blank"><font color="#24528e">http://www.free-codecs.com/download/GSpot.htm</font></a><br /><br />　　<strong>最好的视频及流媒体播放软件</strong><br /><br />　　VLC是一款便携式跨平台、多媒体以及流媒体播放器，支持MPEG-1、MPEG-2、MPEG-4、DivX、mp3、ogg等等，同时还支持DVD与VCD。<br /><br />　　<strong>VLCmediaplayer</strong>:<a href="http://www.videolan.org/vlc/" target="_blank"><font color="#24528e">http://www.videolan.org/vlc/</font></a><br /><br />　　<strong>最好的音频播放器</strong><br /><br />　　Winamp与foobar2000是最好的两款音频播放软件。ml_ipod是一个Winamp的插件用来使Winamp支持iPod，WinampDSPEnhancer能提高声音的音质而不仅仅只是放大他们的音量。foobar2000是一个运行于Win平台的先进的音频播放器，他能支持非常流行的音频格式，当然，你不必去在乎它所占的磁盘空间是那样的少。<br /><br />　　<strong>Winamp</strong>:<a href="http://www.winamp.com/" target="_blank"><font color="#24528e">http://www.winamp.com/</font></a><br /><br />　　<strong>ml_ipod</strong>(Version5.2ofWinampalredayhashadiPodsupportbuiltin.)<a href="http://mlipod.sourceforge.net/" target="_blank"><font color="#24528e">:http://mlipod.sourceforge.net/</font></a><br /><br />　　<strong>DSPEnchancer</strong>:<a href="http://download.nullsoft.com/customize/component/2001/10/8/P/Enhancer.exe" target="_blank"><font color="#24528e">http://download.nullsoft.com/customize/component/2001/10/8/P/Enhancer.exe</font></a><br /><br />　　<strong>foobar2000</strong>:<a href="http://www.foobar2000.org/" target="_blank"><font color="#24528e">http://www.foobar2000.org/</font></a><br /><br />　　对于Ubuntu/Linux用户，当然是选择<strong>Amarok</strong>!(<a href="http://amarok.kde.org/" target="_blank"><font color="#24528e">http://amarok.kde.org/</font></a>)<br /><br />　　Audacity是一款自由的音频编辑/播放软件。ExactAudioCopy则是专业的音频抓取软件，他能将CD复制到你的磁盘里，当然，他并不适合初级用户使用。<br /><br />　　<strong>Audacity</strong>:<a href="http://audacity.sourceforge.net/" target="_blank"><font color="#24528e">http://audacity.sourceforge.net/</font></a><br /><br />　　<strong>ExactAudioCopy</strong>:<a href="http://www.exactaudiocopy.de/" target="_blank"><font color="#24528e">http://www.exactaudiocopy.de/</font></a><br /><br />　　<strong>最好的音频转换软件</strong><br /><br />　　dBpowerAMPMusicConverter能在保留ID标签的同时对音频进行转换与切割，他常常被称为声音的瑞士军刀。<br /><br />　　<strong>dBpowerAMPMusicConverter</strong>:<a href="http://www.dbpoweramp.com/dmc.htm" target="_blank"><font color="#24528e">http://www.dbpoweramp.com/dmc.htm</font></a><br /><br />　　<strong>最好的XviD/DivX转换软件</strong><br /><br />　　AutoGK是一款非常棒的Xvid/DivX格式转换软件，它能转换成多种其它音频格式，同时，他还拥有很多实用的功能。<br /><br />　　<strong>AutoGK</strong>:<a href="http://www.autogk.me.uk/" target="_blank"><font color="#24528e">http://www.autogk.me.uk/</font></a><br /><br />　　<strong>最好的DVD封面搜搜软件</strong><br /><br />　　是不是常常把电影备份到DVD里却愁没有DVD封面啊？不用着急，使用iCover可以从其本身的6个数据库以及互联网搜索13，000张电影的封面，而且你可免费下载他们。<br /><br />　　<strong>iCover</strong>:<a href="http://www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/i-Covers.shtml" target="_blank"><font color="#24528e">http://www.softpedia.com/get/Multimedia/Video/Other-VIDEO-Tools/i-Covers.shtml</font></a><br /><br />　　<strong>iCoverSite(French)</strong>:<a href="http://www.i-covers.net/" target="_blank"><font color="#24528e">http://www.i-covers.net/</font></a><br /><br />　　(Googletranslate:<a href="http://www.google.com/translate_t" target="_blank"><font color="#24528e">http://www.google.com/translate_t</font></a>)<br /><br />　　<strong>最好的IPod软件</strong><br /><br />　　忘记iTunes吧，YamiPod让你完全控制你的iPod，并且提供了更多的功能。<br /><br />　　<strong>YamiPod</strong>:<a href="http://www.yamipod.com/main/modules/home/" target="_blank"><font color="#24528e">http://www.yamipod.com/main/modules/home/</font></a><br /><br />　　<strong>最好的硬盘分析软件</strong><br /><br />　　JDickReport是一款非长棒的软件，它通过多种图表和文字信息让你完全掌握你的电脑里都存储着什么。<br /><br />　　<strong>JDiskReport</strong>:<a href="http://www.jgoodies.com/freeware/jdiskreport/index.html" target="_blank"><font color="#24528e">http://www.jgoodies.com/freeware/jdiskreport/index.html</font></a><br /><br />　　<strong>最好的软件集</strong><br /><br />　　TheOpenCD包含了非常多的任何人可以自由使用的免费软件以及开源软件，<br /><br />　　<strong>TheOpenCD</strong>:<a href="http://theopencd.org/" target="_blank"><font color="#24528e">http://theopencd.org/</font></a><br /><br />　　<strong>最好的HTML编辑软件</strong><br /><br />　　NVU---比Dreamweaver或者Frontpage都要小但非常好的HTML编辑软件。BlueFishEditer也是一款非常稳定的HTML编辑软件，它主要功能集中在动态网页以及交互式网站的制作。<br /><br />　　<strong>NVU</strong>:<a href="http://www.nvu.com/" target="_blank"><font color="#24528e">http://www.nvu.com/</font></a><br /><br />　　<strong>BlueFish</strong>:<a href="http://bluefish.openoffice.nl/" target="_blank"><font color="#24528e">http://bluefish.openoffice.nl/</font></a><br /><br />　　<strong>最好的CSS菜单设计软件</strong><br /><br />　　CSSMenuDesigner可以依照你的需要自动创建漂亮的CSS菜单。<br /><br />　　<strong>BestCSSMenuDesigner</strong>:<a href="http://www.highdots.com/css-tab-designer/" target="_blank"><font color="#24528e">http://www.highdots.com/css-tab-designer/</font></a><br /><br />　　<strong>最好的压缩软件</strong><br /><br />　　现在已经有非常多的压缩软件，最主要的还是7-Zip和IZArc。7-Zip支持7z、ZIP、CAB、RAR、ARJ、GZIP、BZIP2、Z、TAR、CPIO、RPM以及DEB；IZArc支持7-ZIP、A、ACE、ARC、ARJ、B64、BH、BIN、BZ2、BZA、C2D、CAB、CDI、CPIO、DEB、ENC、GCA、GZ、GZA、HA、IMG、ISO、JAR、LHA、LIB、LZH、MDF、MBF、MIM、NRG、PAK、PDI、PK3、RAR、RPM、TAR、TAZ、TBZ、TGZ、TZ、UUE、WAR、XXE、YZ1、Z、ZIP、ZOO等等。这两个软件都还提供了很多其他功能。<br /><br />　　<strong>7-Zip</strong>:<a href="http://www.7-zip.org/" target="_blank"><font color="#24528e">http://www.7-zip.org/</font></a><br /><br />　　<strong>IZArc</strong>:<a href="http://www.izarc.org/" target="_blank"><font color="#24528e">http://www.izarc.org/</font></a><br /><br />　　<strong>最好的办公套件</strong><br /><br />　　毋庸置疑，最好的办公套件当属OpenOffice.Org，它具有非常多的MSOffice的功能，还有很多自己特有的功能。<br /><br />　　<strong>OpenOffice.org</strong>:<a href="http://www.openoffice.org/" target="_blank"><font color="#24528e">http://www.openoffice.org/</font></a><br /><br />　　<strong>最好的多语言代码编辑软件</strong><br /><br />　　在这么多的计算机软件里，最好的代码编写软件还应为PHPDesigner2005和Notepad++，它们都支持语法高亮和语法折叠。PHPDesigner支持PHP、HTML、XML、CSS、JavaScript、Java、Perl、JavaScript、VB、C#、Java以及SQL；Notepad++支持C、C++、Java、C#、XML、HTML、PHP、Javascript、RCresourcefile、makefile、ASCIIartfile(extension.nfo)、doxygen、inifile、batchfile、ASP、VB/VBSsourcefiles、SQL、Objective-C、CSS、Pascal、Perl、Python、Lua、TCL、Assembler、Ruby、Lisp、Scheme、Properties、Diff、Smalltalk、PostscriptandVHDL。这写其实还仅仅只是这两个软件功能的冰山一角，它们还有更多的特色功能。<br /><br />　　<strong>Notepad++</strong>:<a href="http://notepad-plus.sourceforge.net/uk/site.htm" target="_blank"><font color="#24528e">http://notepad-plus.sourceforge.net/uk/site.htm</font></a><br /><br />　　<strong>PHPDesigner2005</strong>:<a href="http://www.download.com/PHP-Designer-2005/3000-7957-10353130.html" target="_blank"><font color="#24528e">http://www.download.com/PHP-Designer-2005/3000-7957-10353130.html</font></a><br /><br />　　<strong>PSPad</strong>:<a href="http://www.pspad.com/en/" target="_blank"><font color="#24528e">http://www.pspad.com/en/</font></a><br /><br />　　<strong>最好的AutoIt编辑软件</strong><br /><br />　　SciTe支持语法高亮和语法折叠，智能化与自动填写。<br /><br />　　<strong>SciTE</strong>:<a href="http://www.autoitscript.com/" target="_blank"><font color="#24528e">http://www.autoitscript.com/</font></a><br /><br />　　<strong>最好的PDF阅读软件</strong><br /><br />　　FoxitReader非常的小（1.5Mb），所一你可以很快的下载它，它不需要安装，所以下载后你可以立即使用它。<br /><br />　　<strong>FoxitReader</strong>:<a href="http://www.foxitsoftware.com/pdf/rd_intro.php" target="_blank"><font color="#24528e">http://www.foxitsoftware.com/pdf/rd_intro.php</font></a><br /><br />　　<strong>最好的Linux操作系统</strong><br /><br />　　Ubuntu和Kubuntu是两个非常知名的Linux系统，他们都包含了很多的软件，另一个非常好的Linux是DamnSmallLinux，它只有50Mb的大小，你完全可以在U盘上运行它。<br /><br />　　<strong>Ubuntu</strong>:<a href="http://www.ubuntu.com/" target="_blank"><font color="#24528e">http://www.ubuntu.com/</font></a><br /><br />　　<strong>Kubuntu</strong>:<a href="http://www.kubuntu.org/" target="_blank"><font color="#24528e">http://www.kubuntu.org/</font></a><br /><br />　　<strong>DamnSmallLinux</strong>:<a href="http://www.damnsmalllinux.org/" target="_blank"><font color="#24528e">http://www.damnsmalllinux.org/</font></a><br /><br />　　<strong>最好的指南/手册制作软件</strong><br /><br />　　Wink是一个指南/手册制作软件，其主要功能是制作如何使用软件的帮组手册(如MS-word/excel使用帮助等)等。使用Wink，你能捕捉屏幕、鼠标动作、解释、按钮、标题等,为你的软件的用户制作出一个高效的使用手册。<br /><br />　　<strong>Wink</strong>:<a href="http://www.debugmode.com/wink/" target="_blank"><font color="#24528e">http://www.debugmode.com/wink/</font></a><br /><br />　　<strong>最好的WindowsCD制作软件</strong><br /><br />　　AutoStreamer是一款非常棒的WindowsCD制作软件，通过它，我们只需要一张Windows安装CD以及一些你要集成的软件安装包就可以非常轻松地将最新升级文件和漏洞修补文件集成到Windows安装文件WindowsServicePack中。<br /><br />　　<strong>AutoPatcher</strong>:<a href="http://mhtools.knoware.nl/raptor/autopatcher.html" target="_blank"><font color="#24528e">http://mhtools.knoware.nl/raptor/autopatcher.html</font></a><br /><br />　　<strong>AutoStreamer</strong>:<a href="http://mhtools.knoware.nl/raptor/autostreamer/AutoStreamer.exe" target="_blank"><font color="#24528e">http://mhtools.knoware.nl/raptor/autostreamer/AutoStreamer.exe</font></a><br /><img src ="http://www.cnblogs.com/hbzxf/aggbug/1430311.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48008/" target="_blank">IBM发布全球首款开源智能编译器</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>flex面试题</title><link>http://www.cnblogs.com/hbzxf/archive/2009/04/03/1428855.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Fri, 03 Apr 2009 03:54:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2009/04/03/1428855.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/1428855.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2009/04/03/1428855.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/1428855.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/1428855.html</trackback:ping><description><![CDATA[<p><font color="darkolivegreen"><font size="5">1.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.<br /><br />2.使用Flex Bulider3如何跟踪<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%A8%8B%E5%BA%8F">程序</span>?<br /><br />3.请问enterFrame和timerEvent这2个<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E4%BA%8B%E4%BB%B6">事件</span>有什么区别?请说下具体的使用方法和相关的使用场合?<br /><br />4.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.<br /><br />5.请问addEventListener里面有几个参数,你能说出具体的使用方法嘛?<br /><br />6.请问我想判断一个字体是否是数字,用什么办法去判断呢?<br /><br />7.请问我想判断一个字符或者一个<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%AF%B9%E8%B1%A1">对象</span>的类型怎么判断呢?<br /><br />8.请问你了解 internal 控制符么?能说下具体使用方法和场合嘛?<br /><br />9.我想在某一点不去执行任何内容,也就是说我想停止执行了,你知道要怎么做嘛?<br /><br />10.请问 undefined 和 null 是否一样,如果不一样能否说出其中的区别呢?<br /><br />11.创建常量知道怎么创建嘛?说下你是怎么创建的.<br /><br />12.请问用什么方法自定义一个事件呢?说下具体的方式.<br /><br />13.请问怎么样检测本机的内容呢,比如说,我想知道本机的操作系系,是否有视频等这些.<br /><br />14.请问用什么办法解决安全域的问题?如果你不知道安全域的问题的话,可以在本机中绑定一下<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%9B%BE%E7%89%87">图片</span>,然后再放到服务器上,就会出现此问题了.<br /><br />15.有三种基本数字类型： number, int, 和uint 请问有什么区别.具体说一下.<br /><br />16.parseInt此方法转化为int型的方法,请问你知道此方法的第二个参数是什么意思嘛?<br /><br />17.Math.round( )， Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入,请问有什么区别?<br /><br />18.请问一个<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%95%B0%E7%BB%84">数组</span>里可以放不同的类型嘛?<br /><br />19.var letters:Array = ["a", "b", "c"];我想在这个数组里搜索 &#8216;b&#8217; 字符,请问怎么办?<br /><br />20.怎么样转换数组为字符串,怎么样将字符串转化为数组?<br /><br />21.我想创建的视图居中怎么办?<br /><br />22.请问知道层级的概念嘛?如果知道请问怎么样交换2个组件的层级呢?<br /><br />23.请问你知道loader,URLLoader,URLStream这个三种动态<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E5%8A%A0%E8%BD%BD">加载</span>资源的具体使用场合,以及有什么区别嘛?<br /><br />24.如何把MouseEvent 的localX 和localY 属性转化成全局坐标?<br /><br />25.请问我现在有一个正方形的图片,我想把他做成圆形,有什么办法呢?前提是用<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=flex">flex</span>或者<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=as3">as3</span><br /><br />26.请问新创建的一个sprite能否被直接加到ui容器里?如果不能请说出用什么办法能加入.<br /><br />27.我怎么设置把一个文本框,设置成一个密码框?<br /><br />28.我想在文本框里只能输入abcd,有什么办法能做到呢?如果我想输入除abcd以外的其它都能输入又怎么做呢?<br /><br />29.请问condenseWhite 这个属性在TextInput里是表示什么意思?<br /><br />30.我现在刚创建的文件的text为 this is a text,我想设置光标在 is 上,请问怎么设置?<br /><br />31.请问怎么样在文本框里添加超链接?<br /><br />32.我想获取系统里的字体,请问怎么办?<br /><br />33.substring( )，substr( ), slice(),请说下3种解析字符串的不同之处,以及适用场合?<br /><br />34. var fruits:<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=XML">XML</span> = <br />Apple<br /><br />Orange<br /><br />Pear<br /><br />Watermelon<br /><br />;<br />以下有一个字符串,我现在知道了color为orange,我想知道此color相对应的name节点的值,我应该怎么做?<br /><br />35.请说下目前使用flex和后台交互的几种方法,以及适用场合.<br /><br />36.我现在想在flex里调用JS方法,我要怎么办呢?<br /><br />37.我想用<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=Java">Java</span>Script调用ActionScript函数,我要怎么办呢?<br /><br />38.FileReference 请说下此对象的几个相关事件<br /><br />组件<br />1.我不想在容器里显示滚动条怎么办?<br /><br />2.请问Flex bulider3可以创建几种不同的项目?<br /><br />3.你了解RSL嘛?请说明下RSL的使用方法,以及使用RSL为了解决什么问题?<br /><br />4.请问SWC是做什么用的,怎么样自己制作一个SWC?<br /><br />5.flex生成出来的文件都是很大,请问你用什么办法进行缩小呢?<br /><br />6.请问 trace( NaN == NaN ) 结果为true 还是false,为什么?<br /><br />7.warning: unable to bind to property &#8221; on <span class="t_tag" onclick="tagshow(event)" href="tag.php?name=class">class</span> &#8216;Object&#8217; (class is not an IEventDispatcher) 在使用ItemRender时,经常会出现这种警告,请问想去除的话怎么办呢?<br /><br />8.现在流行MVC,但是as代码有的时候还是大部分写在mxml里面,请问我想代码分离怎么办呢?<br /><br />9.我想继续UIComponent重新写一个正方形的组件,我应该怎么做?请说重点部分即可.<br /><br />10.常用的几个切换数据的组件比如: TabNavigator等都有属性 creationPolicy 你知道这种策略的使用方式是什么嘛?以及优,缺点呢?<br /><br />11.我想在application里获取当前运行的URL,我要怎么获取.<br /><br />12.请说下事件里的currentTarget 和 target的区别?<br /><br />13.请列举下你常用的几种effects,并说明使用原因.<br /><br />14.HBox,VBox和canvas有什么区别呢?试说出其中几点<br /><br />15.请问我想在<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=list">list</span>里选中多行信息,我要怎么做呢?<br /><br />16.Alert里面有几个属性,我想设置图片怎么办呢?<br /><br />17.请问你是否设置过样式呢,我想动态设置样式怎么办呢?如果我想在as代码里设置样式我又要怎么办呢?<br /><br />18.你能说一下UIComponent的生命周期嘛?以及相关的使用场合呢?<br /><br />19.请问你是否发现过 flex3里的bug呢,请列举一些?<br /><br />20.列举出flex里面的几个绑定数据对象的方式<br /><br />21.请问我自己定义了一个组件,我想在组件里的属性里设置几个默认值,我要怎么设置呢?<br /><br />22.callLater()方法怎么使用,为什么要使用这个方法呢?<br /><br />23.请问你是否使用过module这种方法去做项目呢?他的优,缺点是什么呢?使用组件的方式加载的话,他的优,缺点是什么呢?<br /><br />24.目前网页里都有导航,请问在Flex要做导航要注意一些什么呢?以及怎么样做呢?<br /><br />25.我想在一个错误的图片链接里,定义一下默认的图片怎么做呢?<br /><br />26.请试写一个自定义的验证组件<br /><br />27.请说明下tigger tiggerEvent 在验证组件里是什么意思,具体怎么使用呢?<br /><br />28.ExternalInterface, LocalConnection 2者有什么区别?<br /><br />29.你是否使用过flex的测试工具呢?请说明下具体是哪种,以及使用方式,你为什么使用这种工具?<br /><br />30.我能把CSS<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BC%96%E8%AF%91">编译</span>成<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=swf">swf</span>嘛?<br /><br />31.请用as3列举下你用过的模式<br /><br />32.Embed绑定图片有什么缺点?<br /><br />33.TitleWindow的组件是可以<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E6%8B%96%E5%8A%A8">拖动</span>的,我不想让他拖动我要怎么办呢?<br /><br />34.你是否使用过profile,你觉得这个工具怎么样,优,缺点是什么呢?<br /><br />35.你是否做过flex 前端的性能优化,你觉得怎么做是比较完美的?<br /><br />36.你是否了解E4X,请说明一下优,缺点?<br /><br />37.请列举一下你知道的影响性能的几个因素?<br /><br />38.请说明一下ShareObject的使用方法?以及优,缺点?<br /><br />39.请列举一下,你认为不错的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%E7%BD%91%E7%AB%99">网站</span>或者<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=blog">blog</span>.<br /><br />40.我现在给你100万做一个flex项目,你认为成功的要素在哪呢?</font></font><br /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>出处：http://www.joelove.cn/4lone/386.html</p>
<p>&nbsp;</p><img src ="http://www.cnblogs.com/hbzxf/aggbug/1428855.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48007/" target="_blank">IE颓势不减 微软下月公布最新浏览器架构</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>石家庄.Net俱乐部终于成立了</title><link>http://www.cnblogs.com/hbzxf/archive/2006/10/11/526321.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 11 Oct 2006 07:20:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2006/10/11/526321.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/526321.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2006/10/11/526321.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/526321.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/526321.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先感谢dudu的支持，石家庄.Net俱乐部终于成立了！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 很早就加入博客园的团队了，在这里我从基础开始学起，技术在逐渐积累，也交到了很多很多的朋友。感谢博客园，感谢所有支持博客园发展的朋友！<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 石家庄.Net俱乐部的成立，让我们有了更多的学习和交流机会。欢迎所有石家庄的朋友，都能加入我们的团队当中。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 俱乐部将会定期举办一些培训和网友见面会，大家互相交流在工作学习中的经验，或者组织一些运动比赛，锻炼身体。我们也会借鉴其它城市dotnet俱乐部的一些经验，把我们石家庄俱乐部开展好，达到共同学习，整体提高的效果。<br><br>俱乐部的QQ群：14315661<br><br>俱乐部的加入方式: </p>
<p>Blog名：hbzxf<br>MSN: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#98;&#122;&#102;&#64;&#104;&#111;&#116;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">hbzf@hotmail.com</a><br>Email: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#106;&#122;&#114;&#99;&#110;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">sjzrcn@gmail.com</a><br>QQ: 6055538<br></p>
<img src ="http://www.cnblogs.com/hbzxf/aggbug/526321.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[GDI+]如何制作出高质量的缩略图</title><link>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97697.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 26 Jan 2005 08:46:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97697.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/97697.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97697.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/97697.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/97697.html</trackback:ping><description><![CDATA[如何制作出高质量的缩略图是个关键的因素，最近项目中遇到了类似需要解决的问题。<BR>一般情况下，我们制作成的缩略图都会保存为占用空间比较小的Jpeg类型，在使用GetThumbnail方法制作成的缩略图质量感觉不理想，<BR>如何才能保证在压缩比例最优化的情况下产生高质量的缩略图呢，经过查阅相关资料，<BR>发现在Graphics 对象的 InterpolationMode 属性中可以产生不同质量模式的缩放图，看到这里了，不再是缩略图，而是缩放图，就是说放大的时候也可以使用。 <BR>Graphics 对象的 InterpolationMode 属性枚举定义了几种模式，列表如下： <BR>NearestNeighbor <BR>Bilinear <BR>HighQualityBilinear <BR>Bicubic <BR>HighQualityBicubic <BR>从名字上就可以识别NearestNeighbor 是质量最差的模式，HighQualityBicubic 是质量最好的模式了，我们借此属性看看生成的图片怎么样吧，下段代码摘自网络，大家可以把下面的函数拿去使用，这里采用了HighQualityBilinear 。 <BR><BR>代码引用地址：<A href="http://www.bobpowell.net/highqualitythumb.htm">http://www.bobpowell.net/highqualitythumb.htm</A> <BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG id=Codehighlighter1_11_714_Open_Image onclick="this.style.display='none'; Codehighlighter1_11_714_Open_Text.style.display='none'; Codehighlighter1_11_714_Closed_Image.style.display='inline'; Codehighlighter1_11_714_Closed_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><IMG id=Codehighlighter1_11_714_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_11_714_Closed_Text.style.display='none'; Codehighlighter1_11_714_Open_Image.style.display='inline'; Codehighlighter1_11_714_Open_Text.style.display='inline';" height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_11_714_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Function&nbsp;GenerateThumbnail()</SPAN><SPAN id=Codehighlighter1_11_714_Open_Text><SPAN style="COLOR: #0000ff">Function</SPAN><SPAN style="COLOR: #000000">&nbsp;GenerateThumbnail(original&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;Image,&nbsp;percentage&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Integer</SPAN><SPAN style="COLOR: #000000">)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;Image <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000">&nbsp;percentage&nbsp;</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Then</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Throw</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">New</SPAN><SPAN style="COLOR: #000000">&nbsp;Exception(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Thumbnail&nbsp;size&nbsp;must&nbsp;be&nbsp;aat&nbsp;least&nbsp;1%&nbsp;of&nbsp;the&nbsp;original&nbsp;size</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">) <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">End</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">If</SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;tn&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">New</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(</SPAN><SPAN style="COLOR: #0000ff">CInt</SPAN><SPAN style="COLOR: #000000">(original.Width&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">.01F&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">&nbsp;percentage),&nbsp;_ <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CInt</SPAN><SPAN style="COLOR: #000000">(original.Height&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">.01F&nbsp;</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">&nbsp;percentage)) <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;g&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;Graphics&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;Graphics.FromImage(tn) <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.InterpolationMode&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;InterpolationMode.HighQualityBilinear&nbsp;</SPAN><SPAN style="COLOR: #008000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.DrawImage(original,&nbsp;</SPAN><SPAN style="COLOR: #0000ff">New</SPAN><SPAN style="COLOR: #000000">&nbsp;Rectangle(</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;tn.Width,&nbsp;tn.Height),&nbsp;_ <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">,&nbsp;original.Width,&nbsp;original.Height,&nbsp;GraphicsUnit.Pixel) <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g.Dispose() <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Return</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CType</SPAN><SPAN style="COLOR: #000000">(tn,&nbsp;Image) <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" width=11 align=top> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" width=11 align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">End&nbsp;Function</SPAN></SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #008000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width=11 align=top></SPAN><SPAN style="COLOR: #000000"> <BR><IMG height=16 src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" width=11 align=top></SPAN> </DIV></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/97697.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Soap 结构初识</title><link>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97456.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 26 Jan 2005 02:31:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97456.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/97456.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2005/01/26/97456.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/97456.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/97456.html</trackback:ping><description><![CDATA[<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="FONT-SIZE: 14pt"><strong>Soap&#160;&#160;结 构 初 识</strong></span> 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hbzxf 阿好 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <A href="http://www.cnblogs.com/hbzxf/">http://www.cnblogs.com/hbzxf/</a> 
<br/>
<br/>&#160;&#160;&#160; 自1994年开始，Internet得到了迅猛的发展，自然而然，为了适应网络的基础应用产生了很多的应用级别的协议，HTTP协议就是现阶段普遍使用的用于Web浏览器和Web服务器之间通信的应用级别主要协议之一。但是其最大的不足之处在于只具备相当简单的请求和发送等传输命令，比如：Get、Post、Put，作用也仅仅主要体现在了对数据的浏览功能等，为了满足应用程序之间的数据共享和数据的交换，Soap简单对象访问协议在1998年诞生了。 
<br/>&#160;&#160;&#160; Soap简单对象访问协议首要目的是要解决不同平台和不同系统之间的应用程序之间的通信，XML语言编程了Soap首选的大纲语言。 
<br/>&#160;&#160;&#160; Soap的结构，也可以理解为Soap消息主要包含三个主要的元素： 
<br/>
<br/>&#160;&#160;&#160; Soap &lt;Envelope&gt;,Soap &lt;Header&gt;,Soap &lt;Body&gt; 
<br/>
<br/>&#160;&#160;&#160; Soap &lt;Envelope&gt; 即所谓的消息根元素，也是消息的标题元素，并且这个元素在Soap消息中是必须存在的元素之一，主要的作用就是告诉接受方此消息的基本情况等。 
<br/>
<br/>&#160;&#160;&#160; Soap&#160; &lt;Header&gt; 对于 Header 元素来说在一个Soap消息中是不必要存在的，如果存在Header 元素的话，它必须是Envelope的第一个子元素，主要的作用就是传递一些辅助性的附加消息，比如身份验证，会话等。 
<br/>
<br/>&#160;&#160;&#160; Soap &lt;Body&gt; Body 元素即所谓的Soap消息体了，此元素是每个Soap消息中必须有的元素之一，而一个body元素可以由多个子元素构成。 
<br/>&#160;&#160;&#160; 在这里还要说一下body元素中的一个特殊元素&lt;Faule&gt;元素，此元素可以设置当发送消息产生错误时使用这个元素来报告消息的错误信息。 
<br/>
<br/>下面的例子摘自Internet-draft规范说明中: 
<br/>
<br/>POST /StockQuote HTTP/1.1 
<br/>Host: <a href="http://www.stockquoteserver.com/">www.stockquoteserver.com</a> 
<br/>Content-Type: text/xml 
<br/>Content-Length: nnnn 
<br/>SOAPMethodName: Some-Namespace-URI#GetLastTradePrice 
</p>
<p>&lt;SOAP:Envelope xmlns:SOAP=&quot;urn:schemas-xmlsoap-org:soap.v1&quot;&gt; 
<br/>&#160;&#160;&#160; &lt;SOAP:Body&gt; 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;m:GetLastTradePrice 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; xmlns:m=&quot;Some-Namespace-URI&quot;&gt; 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;symbol&gt;DIS&lt;/symbol&gt; 
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/m:GetLastTradePrice&gt; 
<br/>&#160;&#160;&#160; &lt;/SOAP:Body&gt; 
<br/>&lt;/SOAP:Envelope&gt; 
<br/>
<br/>由于Soap协议是建立在Http协议之上的，所以对于应用于http协议之上的对象，完全不必考虑其消息的传递性，诸如防火墙、代理服务器之类。如果你对Soap协议比较感兴趣你可以查找相关资料来了解其优越性。 
</p><img src ="http://www.cnblogs.com/hbzxf/aggbug/97456.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>WebCom.Net</title><link>http://www.cnblogs.com/hbzxf/archive/2004/12/15/77517.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 15 Dec 2004 08:53:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/12/15/77517.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/77517.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/12/15/77517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/77517.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/77517.html</trackback:ping><description><![CDATA[Intersoft WebCom For .Net 的确是个不错的下拉列表控件，但是我发现在2003下使用的时候总是出现错误的提示信息，如何解决这个问题我们可以在IIS设置中为WebCom.Net添加相应的MiMe类型来解决。
<br/>
<br/>打开IIS信息服务，右击默认网站找到Http头标签中的MiMe类型添加如下信息：
<br/>
<br/>扩展名：.jse
<br/>MiMe类型：application/x-javascript
<br/>
<br/>最近我们开发的系统报表部分采用了用友的Cell报表插件，如果你想在2003中使用的话，也需要添加如下的MiMe类型才可以解决
<br/>
<br/>扩展名：.cll
<br/>MiMe类型：application/octet-stream<img src ="http://www.cnblogs.com/hbzxf/aggbug/77517.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[GDI+]如何将一个彩色图像转换成黑白图像</title><link>http://www.cnblogs.com/hbzxf/archive/2004/10/26/56705.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 26 Oct 2004 01:25:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/10/26/56705.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/56705.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/10/26/56705.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/56705.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/56705.html</trackback:ping><description><![CDATA[<P>彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值，通过匹配像素</P>
<P>亮度值可以轻松转换为黑白图像。</P>
<P>计算像素有效的亮度值可以使用下面的公式：</P>
<P>Y=0.3RED+0.59GREEN+0.11Blue</P>
<P>然后使用 Color.FromArgb(Y,Y,Y) 来把计算后的值转换</P>
<P>转换代码可以使用下面的方法来实现：<BR><BR></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[C#]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap&nbsp;ConvertToGrayscale(Bitmap&nbsp;source)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_55_364_Open_Image onclick="this.style.display='none'; Codehighlighter1_55_364_Open_Text.style.display='none'; Codehighlighter1_55_364_Closed_Image.style.display='inline'; Codehighlighter1_55_364_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_55_364_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_55_364_Closed_Text.style.display='none'; Codehighlighter1_55_364_Open_Image.style.display='inline'; Codehighlighter1_55_364_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_55_364_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_55_364_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Bitmap&nbsp;bm&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(source.Width,source.Height);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;y</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;y</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bm.Height;y</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_147_347_Open_Image onclick="this.style.display='none'; Codehighlighter1_147_347_Open_Text.style.display='none'; Codehighlighter1_147_347_Closed_Image.style.display='inline'; Codehighlighter1_147_347_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_147_347_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_147_347_Closed_Text.style.display='none'; Codehighlighter1_147_347_Open_Image.style.display='inline'; Codehighlighter1_147_347_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_147_347_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_147_347_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;x</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;x</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bm.Width;x</SPAN><SPAN style="COLOR: #000000">++</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG id=Codehighlighter1_187_342_Open_Image onclick="this.style.display='none'; Codehighlighter1_187_342_Open_Text.style.display='none'; Codehighlighter1_187_342_Closed_Image.style.display='inline'; Codehighlighter1_187_342_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_187_342_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_187_342_Closed_Text.style.display='none'; Codehighlighter1_187_342_Open_Image.style.display='inline'; Codehighlighter1_187_342_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_187_342_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_187_342_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Color&nbsp;c</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">source.GetPixel(x,y);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;luma&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">)(c.R</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.3</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;c.G</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.59</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;c.B</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.11</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma));<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;bm;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV></DIV>
<P>&nbsp;</P>
<P>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[VB]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_13_401_Open_Image onclick="this.style.display='none'; Codehighlighter1_13_401_Open_Text.style.display='none'; Codehighlighter1_13_401_Closed_Image.style.display='inline'; Codehighlighter1_13_401_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_13_401_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_13_401_Closed_Text.style.display='none'; Codehighlighter1_13_401_Open_Image.style.display='inline'; Codehighlighter1_13_401_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_13_401_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">Function&nbsp;ConvertToGrayscale()</SPAN><SPAN id=Codehighlighter1_13_401_Open_Text><SPAN style="COLOR: #0000ff">Function</SPAN><SPAN style="COLOR: #000000">&nbsp;ConvertToGrayscale(</SPAN><SPAN style="COLOR: #0000ff">ByVal</SPAN><SPAN style="COLOR: #000000">&nbsp;source&nbsp;</SPAN><SPAN style="COLOR: #0000ff">As</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap)&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;bm&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(source.Width,source.Height)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;x<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;y<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">For</SPAN><SPAN style="COLOR: #000000">&nbsp;y</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">To</SPAN><SPAN style="COLOR: #000000">&nbsp;bm.Height<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">For</SPAN><SPAN style="COLOR: #000000">&nbsp;x</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">To</SPAN><SPAN style="COLOR: #000000">&nbsp;bm.Width<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;c&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;Color&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;source.GetPixel(x,y)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;luma&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Integer</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CInt</SPAN><SPAN style="COLOR: #000000">(c.R</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.3</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;c.G</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.59</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">&nbsp;c.B</SPAN><SPAN style="COLOR: #000000">*</SPAN><SPAN style="COLOR: #000000">0.11</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Next</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Next</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">Return</SPAN><SPAN style="COLOR: #000000">&nbsp;bm<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">End&nbsp;Function</SPAN></SPAN></DIV></DIV>
<P><BR>当然了这是一个好的方法，如果需要更简单的做到图像的色彩转换还可以使用ColorMatrix类，下一篇我们将介绍</P>
<P>[待续...]</P><img src ="http://www.cnblogs.com/hbzxf/aggbug/56705.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>[GDI+] 创建Images的两种方式</title><link>http://www.cnblogs.com/hbzxf/archive/2004/10/25/56471.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 25 Oct 2004 07:01:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/10/25/56471.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/56471.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/10/25/56471.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/56471.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/56471.html</trackback:ping><description><![CDATA[使用Bitmap构造完成一个新的image对象，大小为xsize,ysize<BR><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[C#]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Bitmap&nbsp;myImage&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">xsize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">ysize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">);</SPAN></DIV></DIV><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[VB]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;MyImage&nbsp;As</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">xsize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">ysize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><BR>下面这个方法创建一个默认颜色深度的Images对象,也可以使用像素格式化的参数构造<BR><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[C#]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Bitmap&nbsp;myImage&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">xsize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">ysize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,PixelFormat.</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">format</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[VB]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;MyImage&nbsp;As</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap(</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">xsize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">ysize</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">,PixelFormat.</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #0000ff">format</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">)<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV>
<P><FONT face=Verdana>Pixel Formats valid for the creation of a bitmap image are:</FONT></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format16bppArgb1555</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format16bppGrayScale</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format16bppRgb555</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format16bppRgb565</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format1bppIndexed</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format24bppRgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format32bppArgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format32bppPArgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format32bppRgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format48bppRgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format4bppIndexed</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format64bppArgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format64bppPArgb</B></P>
<P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><B>Format8bppIndexed</B></P>
<P><BR><FONT face=Verdana>Images 可以从磁盘装在标准格式的位图文件(JPEG, GIF, TIFF or windows Bitmap)<BR></FONT><FONT face=Verdana><BR>可以使用方法 Image.FromFile 装载指定的 Image 文件<BR></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[C#]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Bitmap&nbsp;bm&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(Bitmap)Image.FromFile(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;filename&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">[VB]<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">Dim</SPAN><SPAN style="COLOR: #000000">&nbsp;bm&nbsp;</SPAN><SPAN style="COLOR: #0000ff">as</SPAN><SPAN style="COLOR: #000000">&nbsp;Bitmap&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">CType</SPAN><SPAN style="COLOR: #000000">(Image.FromFile(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;filename</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">),Bitmap)</SPAN></DIV></DIV>
<P><BR><BR>[待续...]</FONT></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/56471.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>操作Oracle数据库实现上传图片到Blob类型的字段</title><link>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51421.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 12 Oct 2004 12:32:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51421.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/51421.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51421.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/51421.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/51421.html</trackback:ping><description><![CDATA[<P>通过使用OleDb操作Oracle数据库，成功实现图片上传到Blob类型的字段，但有时会发生ORA-01036错误的问题，经查询是错误提示为illegal variable name/number，不知道有谁能详细解释illegal variable name/number的意思</P>
<P>Oracle Data Provider for .NET<BR>Hi<BR>I am using ODP.NET (Oracle Data Provider for .NET) in my asp.net application.<BR>I have a table in my oracle database called "equipmentgroup". When the page loads for the first time i retrieve all the records from the table to a dataset and save it to viewstate. Later on any addition or modification is done in the dataset only in disconnected mode. Finally,when user clicks update i call this function "update" which should do a batch update but instead it gives the following error :</P>
<P>"ORA-01036: illegal variable name/number "</P>
<P><BR>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;update()<BR><IMG id=Codehighlighter1_38_2399_Open_Image onclick="this.style.display='none'; Codehighlighter1_38_2399_Open_Text.style.display='none'; Codehighlighter1_38_2399_Closed_Image.style.display='inline'; Codehighlighter1_38_2399_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_38_2399_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_38_2399_Closed_Text.style.display='none'; Codehighlighter1_38_2399_Open_Image.style.display='inline'; Codehighlighter1_38_2399_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_38_2399_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_38_2399_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OracleParameter&nbsp;workParam;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OracleConnection&nbsp;cnn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;OracleConnection(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Data&nbsp;Source=NEELESHR;User&nbsp;Id=tmse;&nbsp;Password=tmse;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;sql&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">INSERT&nbsp;INTO&nbsp;EquipmentGroup&nbsp;(Code,&nbsp;Description,&nbsp;LifeTime,&nbsp;PriamryLife,&nbsp;Grading,&nbsp;Inflator,&nbsp;ExtensionRate,&nbsp;MaintenanceFee)&nbsp;VALUES&nbsp;(:Code,&nbsp;:Description,&nbsp;:LifeTime,&nbsp;:PriamryLife,&nbsp;:Grading,&nbsp;:Inflator,&nbsp;:ExtensionRate,&nbsp;:MaintenanceFee)</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OracleCommand&nbsp;cmd&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;OracleCommand(sql,cnn);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.CommandType&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;CommandType.Text;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OracleDataAdapter&nbsp;da&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;OracleDataAdapter();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;da.InsertCommand&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;cmd;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Char,</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Description</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.VarChar,</SPAN><SPAN style="COLOR: #000000">50</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Description</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">LifeTime</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Number);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceColumn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">LifeTime</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">PriamryLife</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Number);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceColumn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">PriamryLife</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Grading</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Char,</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Grading</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Inflator</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Number);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceColumn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Inflator</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ExtensionRate</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Number);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceColumn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ExtensionRate</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">MaintenanceFee</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Number);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceColumn&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">MaintenanceFee</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workParam.SourceVersion&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;DataRowVersion.Current;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_2225_2287_Open_Image onclick="this.style.display='none'; Codehighlighter1_2225_2287_Open_Text.style.display='none'; Codehighlighter1_2225_2287_Closed_Image.style.display='inline'; Codehighlighter1_2225_2287_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2225_2287_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2225_2287_Closed_Text.style.display='none'; Codehighlighter1_2225_2287_Open_Image.style.display='inline'; Codehighlighter1_2225_2287_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_2225_2287_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2225_2287_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;da.Update(ds,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">EquipmentGroup</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">(Exception&nbsp;e)<BR><IMG id=Codehighlighter1_2332_2388_Open_Image onclick="this.style.display='none'; Codehighlighter1_2332_2388_Open_Text.style.display='none'; Codehighlighter1_2332_2388_Closed_Image.style.display='inline'; Codehighlighter1_2332_2388_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_2332_2388_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2332_2388_Closed_Text.style.display='none'; Codehighlighter1_2332_2388_Open_Image.style.display='inline'; Codehighlighter1_2332_2388_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_2332_2388_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_2332_2388_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message.Text&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;e.Message;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Hi,<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>I&nbsp;think&nbsp;that&nbsp;you&nbsp;should&nbsp;add&nbsp;parameters&nbsp;with&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">:</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;included,&nbsp;like:<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">:Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Char,</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>OleDb&nbsp;Data&nbsp;Provider&nbsp;</SPAN><SPAN style="COLOR: #0000ff">for</SPAN><SPAN style="COLOR: #000000">&nbsp;.NET<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;sql&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">INSERT&nbsp;INTO&nbsp;EquipmentGroup&nbsp;(Code,&nbsp;Description,&nbsp;LifeTime,&nbsp;PriamryLife,&nbsp;Grading,&nbsp;Inflator,&nbsp;ExtensionRate,&nbsp;MaintenanceFee)&nbsp;VALUES&nbsp;(?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;?,&nbsp;)</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>Hi,<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>I&nbsp;think&nbsp;that&nbsp;you&nbsp;should&nbsp;add&nbsp;parameters&nbsp;with&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">:</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;included,&nbsp;like:<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>workParam&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top>da.InsertCommand.Parameters.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">:Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,OracleType.Char,</SPAN><SPAN style="COLOR: #000000">10</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">Code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/51421.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>如何防止同一帐户重复登录系统 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51420.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 12 Oct 2004 12:30:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51420.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/51420.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/10/12/51420.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/51420.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/51420.html</trackback:ping><description><![CDATA[<STRONG>如何防止控制客户端使其用同一帐户重复登录系统.</STRONG>
<P><STRONG>解决思路：<BR></STRONG><BR>维护一online表，查看有登陆，就不允许再次登陆，以sessionid作为唯一标识符号，也可以产生一个ＧＵＩＤ发到ＣＯＯＫＩＥ中，以区分不同的ＣＬＩＥＮＴ，再佐以ＪＳ，可以达到更好的效果，比如离开后自动离线<BR><BR><STRONG>解决代码：</STRONG></P>
<P>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">virtual</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;Application_Start(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<BR><IMG id=Codehighlighter1_66_606_Open_Image onclick="this.style.display='none'; Codehighlighter1_66_606_Open_Text.style.display='none'; Codehighlighter1_66_606_Closed_Image.style.display='inline'; Codehighlighter1_66_606_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_66_606_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_66_606_Closed_Text.style.display='none'; Codehighlighter1_66_606_Open_Image.style.display='inline'; Codehighlighter1_66_606_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_66_606_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_66_606_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;reset&nbsp;the&nbsp;mailer&nbsp;indicator</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">MailerStatus</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">All&nbsp;Mailings&nbsp;Complete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;initialize&nbsp;a&nbsp;datatable&nbsp;for&nbsp;users&nbsp;online</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">DataTable&nbsp;objUserTable&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;DataTable();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.Columns.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">SessionID</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,System.Type.GetType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">System.Guid</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">));<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.Columns.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">PeopleID</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,System.Type.GetType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">System.Int32</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">));<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.Columns.Add(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ShowDetail</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,System.Type.GetType(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">System.Boolean</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">));<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>DataColumn[]&nbsp;pk&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;DataColumn[</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">];<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>pk[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objUserTable.Columns[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">];<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.PrimaryKey&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;pk;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UserTable</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objUserTable;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_609_710_Open_Image onclick="this.style.display='none'; Codehighlighter1_609_710_Open_Text.style.display='none'; Codehighlighter1_609_710_Closed_Image.style.display='inline'; Codehighlighter1_609_710_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_609_710_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_609_710_Closed_Text.style.display='none'; Codehighlighter1_609_710_Open_Image.style.display='inline'; Codehighlighter1_609_710_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_609_710_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</SPAN><SPAN id=Codehighlighter1_609_710_Open_Text><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;The&nbsp;Session_Start&nbsp;event&nbsp;adds&nbsp;user&nbsp;session&nbsp;information&nbsp;to&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;Application["UserTable"].<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;</SPAN><SPAN style="COLOR: #808080"></SPAN></SPAN><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">virtual</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;Session_Start(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<BR><IMG id=Codehighlighter1_773_1136_Open_Image onclick="this.style.display='none'; Codehighlighter1_773_1136_Open_Text.style.display='none'; Codehighlighter1_773_1136_Closed_Image.style.display='inline'; Codehighlighter1_773_1136_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_773_1136_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_773_1136_Closed_Text.style.display='none'; Codehighlighter1_773_1136_Open_Image.style.display='inline'; Codehighlighter1_773_1136_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_773_1136_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_773_1136_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application.Lock();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">Application.Lock&nbsp;();</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">DataTable&nbsp;objUserTable&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(DataTable)Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UserTable</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">];<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>DataRow&nbsp;objRow&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objUserTable.NewRow();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Guid&nbsp;objGuid&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;Guid.NewGuid();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objRow[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objGuid;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Session[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">PfSessionID</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objRow[</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">];<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objRow[</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">0</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objRow[</SPAN><SPAN style="COLOR: #000000">2</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">false</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.Rows.Add(objRow);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UserTable</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objUserTable;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application.UnLock();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_1140_1244_Open_Image onclick="this.style.display='none'; Codehighlighter1_1140_1244_Open_Text.style.display='none'; Codehighlighter1_1140_1244_Closed_Image.style.display='inline'; Codehighlighter1_1140_1244_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1140_1244_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1140_1244_Closed_Text.style.display='none'; Codehighlighter1_1140_1244_Open_Image.style.display='inline'; Codehighlighter1_1140_1244_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1140_1244_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</SPAN><SPAN id=Codehighlighter1_1140_1244_Open_Text><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;The&nbsp;Session_End&nbsp;event&nbsp;deletes&nbsp;user&nbsp;session&nbsp;information&nbsp;from&nbsp;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;Application["UserTable"].<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #808080">///</SPAN><SPAN style="COLOR: #008000">&nbsp;</SPAN><SPAN style="COLOR: #808080"></SPAN></SPAN><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">virtual</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;Session_End(</SPAN><SPAN style="COLOR: #0000ff">object</SPAN><SPAN style="COLOR: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<BR><IMG id=Codehighlighter1_1305_1515_Open_Image onclick="this.style.display='none'; Codehighlighter1_1305_1515_Open_Text.style.display='none'; Codehighlighter1_1305_1515_Closed_Image.style.display='inline'; Codehighlighter1_1305_1515_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_1305_1515_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1305_1515_Closed_Text.style.display='none'; Codehighlighter1_1305_1515_Open_Image.style.display='inline'; Codehighlighter1_1305_1515_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_1305_1515_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_1305_1515_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application.Lock();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>DataTable&nbsp;objUserTable&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;(DataTable)Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UserTable</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">];<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>objUserTable.Rows.Find((Guid)Session[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">PfSessionID</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]).Delete();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application[</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">UserTable</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">]&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;objUserTable;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>Application.UnLock();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/51420.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>世界杀毒软件排名 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/10/10/50543.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Sun, 10 Oct 2004 07:31:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/10/10/50543.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/50543.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/10/10/50543.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/50543.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/50543.html</trackback:ping><description><![CDATA[世界杀毒引擎排行榜<BR><BR>1. F-Secure version 5.41 - 99.63%<BR><BR>2. Kaspersky version 4.5.0.49 - 99.35%<BR><BR>3. AVK version 12.0.4 - 98.67%<BR><BR>4. McAfee version 7.03.6000 - 97.24%<BR><BR>5. RAV version 8.6.105 - 94.26%<BR><BR>6. F-Prot version 3.14a - 93.40%<BR><BR>7. Norton version 2004 Professional - 92.35%<BR><BR>8. Titan version 2003 - 90.41%<BR><BR>9. BullGuard version 3.5 - 88.34%<BR><BR>10. BitDefender version 7.1.110 - 88.28%<BR><BR>11. Norton Corporate version 8.00.9374 - 88.27%<BR><BR>12. Dr. Web version 4.30a - 87.33%<BR><BR>13. PC-Cillin 2003 version 10.03.1072 - 86.94%<BR><BR>14. Sophos Sweep version 3.73 - 86.55%<BR><BR>15. Avast version 4.1.268 - 86.37%<BR><BR>16. Panda Titanium version 2.05.05 - 84.95%<BR><BR>17. Panda Platinum version 7.05.04 - 84.39%<BR><BR>18. eScan 2003 Virus Control version 2.5.181.5 - 84.12%<BR><BR>19. MKS_VIR version 2004 Beta - 83.49%<BR><BR>20. AntiVir version 6.21.09.20 - 77.74%<BR><BR>21. Vexira version 2.09.00.01 - 76.98%<BR><BR>22. Nod32 version 1.526 - 75.76%<BR><BR>23. Norman version 5.60.13 - 71.75%<BR><BR>24. Solo version 2.5 Build 2.6.3 - 68.21%<BR><BR>25. Fire version 2.7 - 67.99%<BR><BR>26. AVG version 7.0.175 - 65.68%<BR><BR>27. E-Trust version 6.1.7.0 - 62.16%<BR><BR>28. VirusBUSTER II version 5.3.2 - 59.28%<BR><BR>29. Ikarus version 5.13 - 59.11%<BR><BR>30. VirusBuster version 10.00.88928 - 56.79%<BR><BR>31. UNA version 1.80 - 56.50%<BR><BR>32. Protector Plus version 7.2.E03 - 50.17%<BR><BR>33. XRampAV Professional version 4.0 - 48.90%<BR><BR>34. ViRobotExpert version 4.0 - 48.60%<BR><BR>35. V3Pro 2002 Deluxe version SP2 - 43.75%<BR><BR>36. VirScan Plus version 12.883 - 40.28%<BR><BR>37. Digital Patrol version 4.10.07 - 39.16%<BR><BR>38. Rising AV version 2003 - 36.19%<BR><BR>39. RHBVS version 4.05.562 - 35.24%<BR><BR>40. Quick Heal version 6.10 - 32.88%<BR><BR>41. Wave version 2.0 - 22.59%<BR><BR>42. TDS version 3.2.0 - 14.07%<BR><BR>43. PC Door Guard version 3.0.0.6 - 12.10%<BR><BR>44. PestPatrol version 4.2.0.53 - 11.79%<BR><BR>45. AntiTrojan Shield version 1.0.0.16 - 11.15%<BR><BR>46. Anti Trokan version 5.5.421 - 7.57%<BR><BR>47. Tauscan version 1.6.1024 - 4.82%<BR><BR>48. Trojan Remover version 6.0.9 - 4.66%<BR><BR>49. The Cleaner version 3.5.3527 - 4.44%<BR><BR>50. Trojan Hunter version 3.6.741 - 3.87%<BR><BR>51. Hacker Eliminator (former LockDown Millenium) version 1.2 - 3.66%<BR><BR>52. IP Armor version 5.42.0922 - 2.54%<BR><BR>53. Anti-Hacker &amp; Trojan Expert 2003 version 1.6 - 0%<img src ="http://www.cnblogs.com/hbzxf/aggbug/50543.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Scroll Page Class 解决定位问题</title><link>http://www.cnblogs.com/hbzxf/archive/2004/09/15/43252.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 15 Sep 2004 01:50:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/09/15/43252.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/43252.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/09/15/43252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/43252.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/43252.html</trackback:ping><description><![CDATA[摘要:  在开发B/S系统的时候，由于页面的刷新问题，经常会导致页面自动滚动到开始。然而有时候，我们需要页面在刷新后返回到页面前的位置。为了解决这个问题，我写了一个方法，大家可以参阅，其实也不是一种高明的做法，但至少解决了一些问题。 原理就是在你需要的位置添加一个对象控件，让页面刷新后定位到此控件的位置，使用了scrollIntoView方法。publicvoidScrollToObject(string&nbsp;&nbsp;<a href='http://www.cnblogs.com/hbzxf/archive/2004/09/15/43252.html'>阅读全文</a><img src ="http://www.cnblogs.com/hbzxf/aggbug/43252.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>struct和class的区别</title><link>http://www.cnblogs.com/hbzxf/archive/2004/09/14/43142.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 14 Sep 2004 13:28:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/09/14/43142.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/43142.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/09/14/43142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/43142.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/43142.html</trackback:ping><description><![CDATA[<P>有人问&#8220;为什么不能继承System.Guid&nbsp;中NewGuid方法呢&#8221;，答案是很简单的，因为System.Guid&nbsp;是结构而不是类。<BR><BR>比如定义如下结构和类</P>
<P class=code>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">struct</SPAN><SPAN style="COLOR: #000000">&nbsp;MyType<BR><IMG id=Codehighlighter1_21_49_Open_Image onclick="this.style.display='none'; Codehighlighter1_21_49_Open_Text.style.display='none'; Codehighlighter1_21_49_Closed_Image.style.display='inline'; Codehighlighter1_21_49_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_21_49_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_21_49_Closed_Text.style.display='none'; Codehighlighter1_21_49_Open_Image.style.display='inline'; Codehighlighter1_21_49_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_21_49_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_21_49_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;MyInteger;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;Class1&nbsp;:&nbsp;MyType<BR><IMG id=Codehighlighter1_81_83_Open_Image onclick="this.style.display='none'; Codehighlighter1_81_83_Open_Text.style.display='none'; Codehighlighter1_81_83_Closed_Image.style.display='inline'; Codehighlighter1_81_83_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_81_83_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_81_83_Closed_Text.style.display='none'; Codehighlighter1_81_83_Open_Image.style.display='inline'; Codehighlighter1_81_83_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_81_83_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_81_83_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV></DIV>
<P class=code><BR>&nbsp;</P>
<P>这段代码将抛出编译错误内容为&nbsp;"<EM>Class1: cannot inherit from sealed class MyType</EM>". <BR><BR>再如下面代码：</P>
<P class=code>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">struct</SPAN><SPAN style="COLOR: #000000">&nbsp;MyType<BR><IMG id=Codehighlighter1_21_49_Open_Image onclick="this.style.display='none'; Codehighlighter1_21_49_Open_Text.style.display='none'; Codehighlighter1_21_49_Closed_Image.style.display='inline'; Codehighlighter1_21_49_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_21_49_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_21_49_Closed_Text.style.display='none'; Codehighlighter1_21_49_Open_Image.style.display='inline'; Codehighlighter1_21_49_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_21_49_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_21_49_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;MyInteger;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">struct</SPAN><SPAN style="COLOR: #000000">&nbsp;Class1&nbsp;:&nbsp;MyType<BR><IMG id=Codehighlighter1_82_84_Open_Image onclick="this.style.display='none'; Codehighlighter1_82_84_Open_Text.style.display='none'; Codehighlighter1_82_84_Closed_Image.style.display='inline'; Codehighlighter1_82_84_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_82_84_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_82_84_Closed_Text.style.display='none'; Codehighlighter1_82_84_Open_Image.style.display='inline'; Codehighlighter1_82_84_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_82_84_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_82_84_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV></DIV>
<P class=code><BR>&nbsp;</P>
<P>编译错误如下: "<EM>Class1: type in interface list is not an interface</EM>". </P>
<P><BR>下面列举出微软提供的例子供大家学习<BR></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">Copyright&nbsp;(C)&nbsp;2000&nbsp;Microsoft&nbsp;Corporation.&nbsp;&nbsp;All&nbsp;rights&nbsp;reserved.<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;struct2.cs</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">using</SPAN><SPAN style="COLOR: #000000">&nbsp;System;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;TheClass<BR><IMG id=Codehighlighter1_111_131_Open_Image onclick="this.style.display='none'; Codehighlighter1_111_131_Open_Text.style.display='none'; Codehighlighter1_111_131_Closed_Image.style.display='inline'; Codehighlighter1_111_131_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_111_131_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_111_131_Closed_Text.style.display='none'; Codehighlighter1_111_131_Open_Image.style.display='inline'; Codehighlighter1_111_131_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_111_131_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_111_131_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;x;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">struct</SPAN><SPAN style="COLOR: #000000">&nbsp;TheStruct<BR><IMG id=Codehighlighter1_151_171_Open_Image onclick="this.style.display='none'; Codehighlighter1_151_171_Open_Text.style.display='none'; Codehighlighter1_151_171_Closed_Image.style.display='inline'; Codehighlighter1_151_171_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_151_171_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_151_171_Closed_Text.style.display='none'; Codehighlighter1_151_171_Open_Image.style.display='inline'; Codehighlighter1_151_171_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_151_171_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_151_171_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">int</SPAN><SPAN style="COLOR: #000000">&nbsp;x;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;TestClass<BR><IMG id=Codehighlighter1_190_633_Open_Image onclick="this.style.display='none'; Codehighlighter1_190_633_Open_Text.style.display='none'; Codehighlighter1_190_633_Closed_Image.style.display='inline'; Codehighlighter1_190_633_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_190_633_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_190_633_Closed_Text.style.display='none'; Codehighlighter1_190_633_Open_Image.style.display='inline'; Codehighlighter1_190_633_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_190_633_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_190_633_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;structtaker(TheStruct&nbsp;s)<BR><IMG id=Codehighlighter1_244_267_Open_Image onclick="this.style.display='none'; Codehighlighter1_244_267_Open_Text.style.display='none'; Codehighlighter1_244_267_Closed_Image.style.display='inline'; Codehighlighter1_244_267_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_244_267_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_244_267_Closed_Text.style.display='none'; Codehighlighter1_244_267_Open_Image.style.display='inline'; Codehighlighter1_244_267_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_244_267_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_244_267_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s.x&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;classtaker(TheClass&nbsp;c)<BR><IMG id=Codehighlighter1_319_342_Open_Image onclick="this.style.display='none'; Codehighlighter1_319_342_Open_Text.style.display='none'; Codehighlighter1_319_342_Closed_Image.style.display='inline'; Codehighlighter1_319_342_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_319_342_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_319_342_Closed_Text.style.display='none'; Codehighlighter1_319_342_Open_Image.style.display='inline'; Codehighlighter1_319_342_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_319_342_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_319_342_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.x&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">5</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;Main()<BR><IMG id=Codehighlighter1_378_631_Open_Image onclick="this.style.display='none'; Codehighlighter1_378_631_Open_Text.style.display='none'; Codehighlighter1_378_631_Closed_Image.style.display='inline'; Codehighlighter1_378_631_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_378_631_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_378_631_Closed_Text.style.display='none'; Codehighlighter1_378_631_Open_Image.style.display='inline'; Codehighlighter1_378_631_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_378_631_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_378_631_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TheStruct&nbsp;a&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;TheStruct();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TheClass&nbsp;b&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;TheClass();<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.x&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.x&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #000000">1</SPAN><SPAN style="COLOR: #000000">;<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;structtaker(a);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classtaker(b);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">a.x&nbsp;=&nbsp;{0}</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,&nbsp;a.x);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">b.x&nbsp;=&nbsp;{0}</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,&nbsp;b.x);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV>
<P><BR>这个例子的输出是:<BR><BR>a.x = 1b.x = 5<BR><BR>从这个例子例子可以看出,当一个结构被传递到一个方法时,被传递的只不过是一个副本,而一个类被传递时,被传递的是一个参考.所以a.x=输出的是1,不变,而b.x却变了.<BR><BR>还有的区别就是结构可以不用new来实例化,而类却要.如果你不用new来实例化一个结构,那么所有的字段将仍然处于未分配状态,直到所有的字段被初始化.和类一样,结构可以执行接口.更重要的是,结构没有继承性,一个结构不能从别的类继承,也不能是别的类的基类.<BR><BR>博客园wljcan的文章<BR><A href="http://www.cnblogs.com/wljcan/archive/2004/04/19/6520.aspx">http://www.cnblogs.com/wljcan/archive/2004/04/19/6520.aspx</A><BR></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/43142.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>B/S系统中如何定位到对象</title><link>http://www.cnblogs.com/hbzxf/archive/2004/08/10/31916.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 10 Aug 2004 07:36:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/08/10/31916.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/31916.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/08/10/31916.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/31916.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/31916.html</trackback:ping><description><![CDATA[<DIV class=postText>
<P align=center><STRONG><FONT size=5>B/S系统中如何定位到对象<BR><FONT size=3>hbzxf(阿好)<BR></FONT><A href="http://blog.csdn.net/hbzxf/"><FONT color=#003366 size=3>http://blog.csdn.net/hbzxf/</FONT></A></FONT></STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在开发B/S系统的时候，由于页面的刷新问题，经常会导致页面自动滚动到开始。然而有时候，我们需要页面在刷新后返回到页面前的位置。为了解决这个问题，我写了一个方法，大家可以参阅，其实也不是一种高明的做法，但至少解决了一些问题。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;原理就是在你需要的位置添加一个对象控件，让页面刷新后定位到此控件的位置，使用了scrollIntoView方法。</P>
<P>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;ScrollToObject(</SPAN><SPAN style="COLOR: #0000ff">string</SPAN><SPAN style="COLOR: #000000">&nbsp;str_Ctl_Name,Page&nbsp;page)<BR><IMG id=Codehighlighter1_59_300_Open_Image onclick="this.style.display='none'; Codehighlighter1_59_300_Open_Text.style.display='none'; Codehighlighter1_59_300_Closed_Image.style.display='inline'; Codehighlighter1_59_300_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_59_300_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_59_300_Closed_Text.style.display='none'; Codehighlighter1_59_300_Open_Image.style.display='inline'; Codehighlighter1_59_300_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_59_300_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_59_300_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">!</SPAN><SPAN style="COLOR: #000000">page.IsStartupScriptRegistered&nbsp;(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ScrollObject</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">))<BR><IMG id=Codehighlighter1_121_298_Open_Image onclick="this.style.display='none'; Codehighlighter1_121_298_Open_Text.style.display='none'; Codehighlighter1_121_298_Closed_Image.style.display='inline'; Codehighlighter1_121_298_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_121_298_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_121_298_Closed_Text.style.display='none'; Codehighlighter1_121_298_Open_Image.style.display='inline'; Codehighlighter1_121_298_Open_Text.style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</SPAN><SPAN id=Codehighlighter1_121_298_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.cnblogs.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_121_298_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page.RegisterStartupScript(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">msgScrollObject</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;&lt;script&gt;document.forms(0).</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">str_Ctl_Name</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">.scrollIntoView();document.forms(0).</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">str_Ctl_Name</SPAN><SPAN style="COLOR: #000000">+</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">.focus();&nbsp;&lt;/script&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN></DIV></DIV>
<P><BR><BR>注：ScrollToObject：方法名<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; str_Ctl_Name：控件名<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;例子：ScrollToObject(Button1,Page);</P>
<P>对于DataGrid的的定位问题，你可以使用HTML 中锚点的方式来解决，具体的操作可以参阅HTML手册来学习锚点是怎样运用的，这里就不再多谈了</P></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/31916.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47988/" target="_blank">Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>学习游戏开发经典网站 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/30/28594.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Fri, 30 Jul 2004 04:40:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/30/28594.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/28594.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/30/28594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/28594.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/28594.html</trackback:ping><description><![CDATA[<STRONG><FONT color=#0000ff>
<P align=justify><BR>华语游戏开发资源网<BR></FONT></STRONG><A href="http://www.gameres.com/"><FONT color=#003366>http://www.gameres.com/</FONT></A></P>
<P align=left><STRONG><FONT color=#0000ff>游戏开发网</FONT></STRONG><BR><A href="http://www.gamedev.net/"><FONT color=#003366>http://www.gamedev.net/</FONT></A></P>
<P align=left><STRONG><FONT color=#0000ff>中国游戏开发者<BR></FONT></STRONG><A onmousedown="return clk(this,'res',2)" href="http://www.chinagamedev.net/"><FONT color=#0000cc>http://www.ChinaGameDev.net</FONT></A></P>
<P align=left><STRONG><FONT color=#0000cc>中国</FONT><FONT color=#cc0033>游戏</FONT><FONT color=#cc0033>开发</FONT><FONT color=#0000cc>技术资讯网</FONT></STRONG><BR><FONT color=#003366 size=2><A href="http://www.gamedevelop.net/">http://www.gamedevelop.net</A></FONT></P>
<P align=left><FONT color=#008000 size=2><STRONG><FONT size=3>游戏制作联盟<BR></FONT></STRONG><A href="http://gd.91.com/"><FONT color=#003366>http://gd.91.com/</FONT></A></FONT></P>
<P align=left><FONT size=2><FONT color=#0000ff>CSDN<FONT size=3>游戏开发<BR><A href="http://dev.csdn.net/articlelist.aspx?c=10"><FONT color=#003366>http://dev.csdn.net/articlelist.aspx?c=10</FONT></A></FONT></FONT></FONT></P>
<P align=left><FONT color=#003366></FONT>&nbsp;</P>
<P align=left>&nbsp;</P><img src ="http://www.cnblogs.com/hbzxf/aggbug/28594.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Url2Ip</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/28/27923.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 28 Jul 2004 02:59:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/28/27923.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/27923.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/28/27923.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/27923.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/27923.html</trackback:ping><description><![CDATA[System.Net.IPHostEntry hostInfo = System.Net.Dns.GetHostByName(txtUrl.Text);<BR>&nbsp;&nbsp;&nbsp;this.lblAddress.Text = "域名为"+txtUrl.Text+" Ip是："+hostInfo.AddressList[0].ToString();<BR><img src ="http://www.cnblogs.com/hbzxf/aggbug/27923.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>BLOG程序</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/17/25159.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Sat, 17 Jul 2004 09:10:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/17/25159.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/25159.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/17/25159.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/25159.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/25159.html</trackback:ping><description><![CDATA[<SPAN id=post22367>分成ASP,ASP.NET,PHP,CGI(PERL)四类。 <BR><SPAN style="COLOR: red">红色是我用过的，不错的。</SPAN><BR><BR><B>ASP </B><BR><BR>Dlog: <A href="http://webdream.duoluo.com/" target=_blank><FONT color=#000000>http://webdream.duoluo.com</FONT></A> <BR><BR>Misslog: <A href="http://www.misslog.com/blog" target=_blank><FONT color=#000000>http://www.misslog.com/blog</FONT></A> <BR><BR>Loveyuki's BLOG: <A href="http://www.loveyuki.com/" target=_blank><FONT color=#000000>http://www.loveyuki.com</FONT></A> <BR><BR>oblog 0.9: <A href="http://www.oioj.net/" target=_blank><FONT color=#000000>http://www.oioj.net</FONT></A> <BR><BR>Ublog: <A href="http://www.uapplication.com/demo/UblogAccess" target=_blank><FONT color=#000000>http://www.uapplication.com/demo/UblogAccess</FONT></A> <BR><BR>BP Blog: <A href="http://www.betaparticle.com/blog/" target=_blank><FONT color=#000000>http://www.betaparticle.com/blog/</FONT></A> <BR><BR>BlogIt!: <A href="http://www.katywhitton.com/downloads/BlogIt!/demo.asp" target=_blank><FONT color=#000000>http://www.katywhitton.com/downloads/BlogI...t!/demo.asp</FONT></A> <BR><BR>Dblog: <A href="http://www.dblog.it/dblog/download.asp" target=_blank><FONT color=#000000>http://www.dblog.it/dblog/download.asp</FONT></A> <BR><BR><B>ASP.NET </B><BR><BR>iblog: <A href="http://justdn.org/product/iBlog/demo/" target=_blank><FONT color=#000000>http://justdn.org/product/iBlog/demo/</FONT></A> <BR><BR>DotText: <A href="http://scottwater.com/Dottext/default.aspx" target=_blank><FONT color=#000000>http://scottwater.com/Dottext/default.aspx</FONT></A> <BR><BR>BlogX: <A href="http://www.simplegeek.com/" target=_blank><FONT color=#000000>http://www.simplegeek.com</FONT></A> <BR><BR>dasBlog: <A href="http://www.dasblog.net/" target=_blank><FONT color=#000000>http://www.dasblog.net/</FONT></A> <BR><BR>Loadboy's Master Blog: <A href="http://www.loadboy.com/downloader/fb3.aspx" target=_blank><FONT color=#000000>http://www.loadboy.com/downloader/fb3.aspx</FONT></A> <BR><BR><B>PHP</B> <BR><BR>b2： <A href="http://www.cafelog.com/" target=_blank><FONT color=#000000>http://www.cafelog.com</FONT></A> <BR><BR>b2evolution: <A href="http://www.b2evolution.net/" target=_blank><FONT color=#000000>http://www.b2evolution.net</FONT></A> <BR><BR>wordpress： <A href="http://www.wordpress.org/" target=_blank><FONT color=#000000>http://www.wordpress.org</FONT></A> <BR><BR>pivot(txt)： <A href="http://www.pivotlog.net/" target=_blank><FONT color=#000000>http://www.pivotlog.net</FONT></A> <BR><BR><SPAN style="COLOR: red">nucleus： <A href="http://www.nucleuscms.org/" target=_blank><FONT color=#000000>http://www.nucleuscms.org</FONT></A> </SPAN><BR><BR>exBlogMix: <A href="http://exblog.126.com/" target=_blank><FONT color=#000000>http://exblog.126.com/</FONT></A> <BR><BR>M-logger(txt)： <A href="http://milkliker.51j.cn/" target=_blank><FONT color=#000000>http://milkliker.51j.cn/</FONT></A> <BR><BR><SPAN style="COLOR: red">drupal： <A href="http://www.drupal.org/" target=_blank><FONT color=#000000>http://www.drupal.org</FONT></A> </SPAN><BR><BR>pmachine: <A href="http://www.pmachine.com/" target=_blank><FONT color=#000000>http://www.pmachine.com</FONT></A> <BR><BR>serendipity： <A href="http://www.s9y.org/" target=_blank><FONT color=#000000>http://www.s9y.org</FONT></A> <BR><BR>bMachine： <A href="http://boastology.com/" target=_blank><FONT color=#000000>http://boastology.com</FONT></A> <BR><BR><SPAN style="COLOR: red">Plog: <A href="http://www.plogworld.org/" target=_blank><FONT color=#000000>http://www.plogworld.org</FONT></A></SPAN> <BR><BR>SaBlog: <A href="http://www.4ngel.net/demo/sablog" target=_blank><FONT color=#000000>http://www.4ngel.net/demo/sablog</FONT></A> <BR><BR>Plainslash: <A href="http://www.blanksoft.com/blogx/" target=_blank><FONT color=#000000>http://www.blanksoft.com/blogx/</FONT></A> <BR><BR>myphpblog: <A href="http://www.myphpblog.org/" target=_blank><FONT color=#000000>http://www.myphpblog.org/</FONT></A> <BR><BR>sunlog: <A href="http://www.sunlog.org/" target=_blank><FONT color=#000000>http://www.sunlog.org</FONT></A> <BR><BR>CheesyBlog: <A href="http://www.cheesepizza.net/cheesyblog/" target=_blank><FONT color=#000000>http://www.cheesepizza.net/cheesyblog/</FONT></A> <BR><BR>bBlog : <A href="http://dev.bblog.com/" target=_blank><FONT color=#000000>http://dev.bblog.com/</FONT></A> <BR><BR>Twoblog: <A href="http://www.twoblog.com/" target=_blank><FONT color=#000000>http://www.twoblog.com/</FONT></A> <BR><BR>sunlog: <A href="http://www.pluggedout.com/blog" target=_blank><FONT color=#000000>http://www.pluggedout.com/blog</FONT></A> <BR><BR>my little weblog : <A href="http://www.mylittlehomepage.net/weblog.html" target=_blank><FONT color=#000000>http://www.mylittlehomepage.net/weblog.html</FONT></A> <BR><BR><BR><B>CGI </B><BR><BR><SPAN style="COLOR: red">MT： <A href="http://www.movabletype.org/" target=_blank><FONT color=#000000>http://www.movabletype.org</FONT></A> </SPAN><BR><BR>Greymatter： <A href="http://www.noahgrey.com/greysoft" target=_blank><FONT color=#000000>http://www.noahgrey.com/greysoft</FONT></A> <BR><BR><BR>MY blog: <A href="http://www.fuzzymonkey.org/cgi-bin/blog/index.cgi" target=_blank><FONT color=#000000>http://www.fuzzymonkey.org/cgi-bin/blog/index.cgi</FONT></A> <BR></SPAN><img src ="http://www.cnblogs.com/hbzxf/aggbug/25159.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47985/" target="_blank">杰克逊悼念仪式或成史上最大规模Web活动</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>IE功能汇总</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/13/23824.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 13 Jul 2004 09:00:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/13/23824.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/23824.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/13/23824.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/23824.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/23824.html</trackback:ping><description><![CDATA[<DIV align=center>
<CENTER>
<TABLE borderColor=#000000 cellSpacing=0 borderColorDark=#ffffff cellPadding=0 width="90%" borderColorLight=#000000 border=1>
<TBODY>
<TR>
<TD width="100%">　
<OBJECT id=WebBrowser height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2><PARAM NAME="ExtentX" VALUE="26"><PARAM NAME="ExtentY" VALUE="26"><PARAM NAME="ViewMode" VALUE="0"><PARAM NAME="Offline" VALUE="0"><PARAM NAME="Silent" VALUE="0"><PARAM NAME="RegisterAsBrowser" VALUE="0"><PARAM NAME="RegisterAsDropTarget" VALUE="1"><PARAM NAME="AutoArrange" VALUE="0"><PARAM NAME="NoClientEdge" VALUE="0"><PARAM NAME="AlignLeft" VALUE="0"><PARAM NAME="NoWebView" VALUE="0"><PARAM NAME="HideFileNames" VALUE="0"><PARAM NAME="SingleClick" VALUE="0"><PARAM NAME="SingleSelection" VALUE="0"><PARAM NAME="NoFolders" VALUE="0"><PARAM NAME="Transparent" VALUE="0"><PARAM NAME="ViewID" VALUE="{0057D0E0-3573-11CF-AE69-08002B2E1262}"><PARAM NAME="Location" VALUE=""></OBJECT><INPUT onclick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开 name=Button1> <INPUT onclick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为 name=Button2> <INPUT onclick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性 name=Button3> <INPUT onclick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印 name=Button> <INPUT onclick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置 name=Button4> <BR><INPUT onclick=window.location.reload() type=button value=刷新 name=refresh> <INPUT onclick="window.external.ImportExportFavorites(true,'');" type=button value=导入收藏夹 name=Button5> <INPUT onclick="window.external.ImportExportFavorites(false,'');" type=button value=导出收藏夹 name=Button32> <INPUT onclick="window.external.AddFavorite(location.href, document.title)" type=button value=加入收藏夹 name=Button22> <BR><INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夹 name=Submit2> <INPUT onclick='window.location="view-source:" + window.location.href' type=button value=查看源文件 name=Button7> <INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=语言设置 name=Button6> <INPUT onclick=history.go(1) type=submit value=前进 name=Submit> <INPUT onclick=history.go(-1) type=submit value=后退 name=Submit2> <INPUT onclick="document.execCommand('Cut')" type=button value=剪切> <INPUT onclick="document.execCommand('Copy')" type=button value=拷贝> <INPUT onclick="document.execCommand('Paste')" type=button value=粘贴> <INPUT onclick="document.execCommand('Undo')" type=button value=撤消> <INPUT onclick="document.execCommand('Delete')" type=button value=删除> <INPUT onclick="document.execCommand('Bold')" type=button value=黑体> <INPUT onclick="document.execCommand('Italic')" type=button value=斜体> <INPUT onclick="document.execCommand('Underline')" type=button value=下划线> <INPUT onclick="document.execCommand('stop')" type=button value=停止> <INPUT onclick="document.execCommand('SaveAs')" type=button value=保存> <INPUT onclick="document.execCommand('Saveas',false,'c:\\test.htm')" type=button value=另存为> <INPUT onclick="document.execCommand('FontName',false,fn)" type=button value=字体> <INPUT onclick="document.execCommand('FontSize',false,fs)" type=button value=字体大小> <INPUT onclick="document.execCommand('refresh',false,0)" type=button value=刷新> <INPUT onclick=window.location.reload() type=button value=刷新> <INPUT onclick=history.go(1) type=button value=前进> <INPUT onclick=history.go(-1) type=button value=后退> <INPUT onclick=history.forward() type=button value=前进> <INPUT onclick=history.back() type=button value=后退> <INPUT onclick='window.external.ImportExportFavorites(true,"http://localhost");' type=button value=导入收藏夹> <INPUT onclick='window.external.ImportExportFavorites(false,"http://localhost");' type=button value=导出收藏夹> <INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夹> <INPUT onclick="window.location = 'view-source:'+ window.location.href" type=button value=查看源文件> <INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=语言设置> <INPUT onclick="window.external.AddFavorite('http://fason.nease.net/', 'Fason的小天地')" type=button value=加入收藏夹> <INPUT onclick="window.external.addChannel('http://fason.nease.net/')" type=button value=加入到频道> <INPUT onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://fason.nease.net/')" type=button value=设成主页> </TD></TR></TBODY></TABLE></CENTER></DIV><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;OBJECT id=WebBrowser height=0 width=0&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2&gt;&lt;/OBJECT&gt;<BR>&lt;INPUT onclick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开 name=Button1&gt; <BR>&lt;INPUT onclick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为 name=Button2&gt; <BR>&lt;INPUT onclick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性 name=Button3&gt; <BR>&lt;INPUT onclick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印 name=Button&gt; <BR>&lt;INPUT onclick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置 name=Button4&gt;&nbsp;<BR>&lt;INPUT onclick=window.location.reload() type=button value=刷新 name=refresh&gt; <BR>&lt;INPUT onclick="window.external.ImportExportFavorites(true,'');" type=button value=导入收藏夹 name=Button5&gt; <BR>&lt;INPUT onclick="window.external.ImportExportFavorites(false,'');" type=button value=导出收藏夹 name=Button32&gt; <BR>&lt;INPUT onclick="window.external.AddFavorite(location.href, document.title)" type=button value=加入收藏夹 name=Button22&gt;&nbsp;<BR>&nbsp;&lt;INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夹 name=Submit2&gt; <BR>&lt;INPUT onclick='window.location="view-source:" + window.location.href' type=button value=查看源文件 name=Button7&gt; <BR>&lt;INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=语言设置 name=Button6&gt;&nbsp;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Cut')" type=button value=剪切&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Copy')" type=button value=拷贝&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Paste')" type=button value=粘贴&gt; <BR>&lt;INPUT onclick="document.execCommand('Undo')" type=button value=撤消&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Delete')" type=button value=删除&gt; <BR>&lt;INPUT onclick="document.execCommand('Bold')" type=button value=黑体&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Italic')" type=button value=斜体&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Underline')" type=button value=下划线&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('stop')" type=button value=停止&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('SaveAs')" type=button value=保存&gt;<BR>&nbsp;&lt;INPUT onclick="document.execCommand('Saveas',false,'c:\\test.htm')" type=button value=另存为&gt; <BR>&lt;INPUT onclick="document.execCommand('FontName',false,fn)" type=button value=字体&gt; <BR>&lt;INPUT onclick="document.execCommand('FontSize',false,fs)" type=button value=字体大小&gt; <BR>&lt;INPUT onclick="document.execCommand('refresh',false,0)" type=button value=刷新&gt; <BR>&lt;INPUT onclick=window.location.reload() type=button value=刷新&gt;<BR>&nbsp;&lt;INPUT onclick=history.go(1) type=button value=前进&gt;<BR>&nbsp;&lt;INPUT onclick=history.go(-1) type=button value=后退&gt;<BR>&nbsp;&lt;INPUT onclick=history.forward() type=button value=前进&gt;<BR>&nbsp;&lt;INPUT onclick=history.back() type=button value=后退&gt;<BR>&nbsp;&lt;INPUT onclick='window.external.ImportExportFavorites(true,"http://localhost");' type=button value=导入收藏夹&gt; <BR>&lt;INPUT onclick='window.external.ImportExportFavorites(false,"http://localhost");' type=button value=导出收藏夹&gt; <BR>&lt;INPUT onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" type=button value=整理收藏夹&gt; <BR>&lt;INPUT onclick="window.location = 'view-source:'+ window.location.href" type=button value=查看源文件&gt; <BR>&lt;INPUT onclick="window.external.ShowBrowserUI('LanguageDialog', null)" type=button value=语言设置&gt; <BR>&lt;INPUT onclick="window.external.AddFavorite('http://www.cnblogs.com/hbzxf/', 阿好空间)" type=button value=加入收藏夹&gt; <BR>&lt;INPUT onclick="window.external.addChannel('http://www.cnblogs.com/hbzxf/')" type=button value=加入到频道&gt; <BR>&lt;INPUT onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.cnblogs.com/hbzxf/')" type=button value=设成主页&gt; <img src ="http://www.cnblogs.com/hbzxf/aggbug/23824.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47984/" target="_blank">《商业周刊》:Mozilla的志愿者开发模式被复制</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>WEB打印的相关技术分析 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/12/23456.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 12 Jul 2004 08:18:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/12/23456.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/23456.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/12/23456.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/23456.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/23456.html</trackback:ping><description><![CDATA[<DIV class=postText>
<P align=center><STRONG>WEB打印的相关技术分析</STRONG></P>
<P>现有的Web打印控制技术分成几种方案<BR><BR>　　自定义控件完成打印<BR><BR>　　利用IE自带的WebBrowser控件实现打印<BR><BR>　　利用第三方控件实现打印<BR><BR>以下主要谈前两个方面的内容<BR><BR><BR><BR>一、 自定义控件方式<BR><BR>自定义控件方式就是利用VB或VC等工具生成COM组件，用定义好的打印格式来分析打印源文件从而实现打印。只有将生成的组件下载并注册到客户机上，才能实现在客户端的打印。<BR><BR>难点主要是定义打印格式、如何来分析打印源文件。现有的比较好的方法是利用XML技术来全面的解决问题，利用XML可以非常容易地定义打印目标的文本、表格等内容的格式。但对程序员的开发要求高，难度比较大。<BR><BR><BR><BR>二、 利用WebBrowser实现Web打印<BR><BR>WebBrowser是IE内置的浏览器控件，无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。与其相关的技术要求有：打印文档的生成、页面设置、打印操作的实现等几个环节。<BR><BR><BR><BR>（一）、 打印文档的生成<BR><BR>1、 客户端脚本方式<BR><BR>客户端脚本分为VBScript、JavaScript、JScript几种脚本语言。在IE下开发应用使用的语法为JScript的语法，由于它和JavaScript几乎没有什么区别，所以也可以称其为JavaScript（下面简写为JS）。一般情况下，主要使用JS来实现DOM文档的分析，DOM为微软提出的一种Web文档模型，主要用来实现Web脚本编程。<BR><BR>利用JS可以分析源页面的内容，将欲打印的页面元素提取出来，实现打印。通过分析源文档的内容，可以生成打印目标文档。<BR><BR><BR><BR>优点：客户端独立完成打印目标文档的生成，减轻服务器负荷；<BR><BR>缺点：源文档的分析操作复杂，并且源文档中的打印内容要有约定；<BR><BR><BR><BR>2、 服务器端程序方式<BR><BR>服务器端程序方式，主要是利用后台代码从数据库中读取打印源，生成打印目标文档。当的页面生成时，还应适当考虑使用CSS来实现强制分页控制。<BR><BR><BR><BR>优点：可以生成内容非常的丰富的打印目标文档，目标文档的内容的可控性强。由于打印内容是从数据库中获取的，所以生成操作相对简单；<BR><BR>缺点：服务器端负载比较大；<BR><BR><BR><BR>（二）、 页面设置<BR><BR>页面设置主要是指设置打印文档的页边距、页眉、页脚、纸张等内容。页面设置将直接影响到打印文档版面的生成效果，所以它和打印文档的生成有着密切的关系。比如：表格的行数、大小、位置、字体的大小等。<BR><BR>现有的技术是利用IE6.0内置的打印模板方式来控制页面设置，其可以对打印目标文档产生非常大的影响。打印模板可以控制页边距、页眉、页脚、奇偶页等内容，并可以将用户的设置取得，还可以将设置发送到服务器端。<BR><BR>打印模板技术可以自定预览窗口和打印格式，最大限度地影响目标文档和打印效果。<BR><BR><BR><BR>（三）、 打印操作的实现<BR><BR>此功能的实现主要是利用WebBrowser控件的函数接口来实现打印、打印预览（默认的）、页面设置（默认的）。<BR><BR>&lt;object ID='WebBrowser1' WIDTH=0 HEIGHT=0 <BR><BR>CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'&gt;<BR><BR>//打印<BR><BR>WebBrowser1.ExecWB(6,1);<BR><BR>//打印设置<BR><BR>WebBrowser1.ExecWB(8,1);<BR><BR>//打印预览<BR><BR>WebBrowser1.ExecWB(7,1);<BR><BR><BR><BR>三、 本项目采用的打印方案<BR><BR>服务器端程序方式、打印预览接口调用，下面为例，主要参考项目中的：pageErrorPrint.aspx.vb文件<BR><BR>主调用页<BR><BR>function PrintPage(iPageIndex,strQuery)<BR><BR>{<BR><BR>var strURL; <BR><BR>strURL = "PageErrorPrint.aspx?PageIndex=" + iPageIndex + "&amp;QueryString=" + strQuery; <BR><BR>winPrint=window.open(strURL,"","left=2000,top=2000,fullscreen=3"); <BR><BR>}<BR><BR><BR><BR>打印页HTML源中的预览控制<BR><BR>&lt;SCRIPT language="javascript"&gt;<BR><BR>document.write("&lt;object ID='WebBrowser' WIDTH=0 HEIGHT=0 <BR><BR>CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'&gt;&lt;/object&gt;"); <BR><BR>WebBrowser.ExecWB(7,1);<BR><BR>window.opener=null;<BR><BR>window.close();<BR><BR>&lt;/SCRIPT&gt;<BR><BR><BR><BR><BR><BR>程序头<BR><BR>'首先声明表格容器<BR><BR>Protected WithEvents phContainer As System.Web.UI.WebControls.PlaceHolder<BR><BR>'每个表格中的记录数量<BR><BR>Private Const ItemPerTable As Integer = 20<BR><BR><BR><BR><BR><BR>关键的实现部分<BR><BR>'创建一个符合打印要求的表格<BR><BR>tabPagePrint = NewPrintTable()<BR><BR>'将表头添加到此表格中<BR><BR>Call AddTableTitle(tabPagePrint)<BR><BR><BR><BR>'初始化记录器<BR><BR>i = 0<BR><BR>iItemIndex = iStartPoint<BR><BR>For Each clsItem In clsAllData.ErrorCollection<BR><BR>&nbsp;&nbsp;&nbsp; If i &gt; 0 And i Mod ItemPerTable = 0 Then<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '添加表格控件到页面中<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; phContainer.Controls.Add(tabPagePrint)<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '在页面中添加一个换行符<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call AddPageBreak()<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '创建新一轮的表格<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tabPagePrint = NewPrintTable()<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call AddTableTitle(tabPagePrint)<BR><BR>&nbsp;&nbsp;&nbsp; End If<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp; '将记录添加到表格中<BR><BR>&nbsp;&nbsp;&nbsp; Call AddItemToTable(iItemIndex, tabPagePrint, clsItem)<BR><BR>&nbsp;&nbsp;&nbsp; iItemIndex = iItemIndex + 1<BR><BR>&nbsp;&nbsp;&nbsp; i = i + 1<BR><BR>Next<BR><BR><BR><BR>'添加表格控件到页面中<BR><BR>phContainer.Controls.Add(tabPagePrint)<BR><BR><BR><BR><BR><BR>支持函数<BR><BR>'功能:添加页的换行符<BR><BR>Private Sub AddPageBreak()<BR><BR>&nbsp;&nbsp;&nbsp; Dim ltBreak As LiteralControl<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp; ltBreak = New LiteralControl("&lt;p style='page-break-before:always'&gt;")<BR><BR>&nbsp;&nbsp;&nbsp; phContainer.Controls.Add(ltBreak)<BR><BR>End Sub<BR><BR><BR><BR>'功能:创建一个符合打印要求的表格<BR><BR>Private Function NewPrintTable() As Table<BR><BR>&nbsp;&nbsp;&nbsp; Dim tabSrc As New Table()<BR><BR><BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.Width = Unit.Percentage(100)<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.Attributes("border") = "1"<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.CellPadding = 4<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.CellSpacing = 0<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.BorderWidth = Unit.Pixel(2)<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.BorderColor = Color.Black<BR><BR>&nbsp;&nbsp;&nbsp; tabSrc.Style.Add("FONT-SIZE", "12px")<BR><BR>&nbsp;&nbsp;&nbsp; NewPrintTable = tabSrc<BR><BR>End Function<BR></P>
<P>摘自CSDN论坛</P></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/23456.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Blog RSS Reader 资料整理</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/07/22011.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 07 Jul 2004 05:40:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/07/22011.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/22011.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/07/22011.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/22011.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/22011.html</trackback:ping><description><![CDATA[打算在空闲的时候做一个个人使用的Blog RSS Reader，今天开始收集资料<BR><BR>dim objHTTP,objXML,objXSL 
<P>Set objXSL = Server.CreateObject("Microsoft.XMLDOM")<BR>objXSL.async=False<BR>objXSL.load(Server.MapPath("rss.xsl"))</P>
<P>set objHTTP = Server.CreateObject("Microsoft.XMLHTTP") <BR>objHTTP.open "GET",objURL, false <BR>objHTTP.send</P>
<P>&nbsp;&nbsp;set objXML = objHTTP.responseXML<BR>&nbsp;&nbsp;objHTML = objXML.transformNode(objXSL)<BR>&nbsp;&nbsp;objHTML = replace(objHTML,"""","'")</P>
<P>Set objHTTP = Nothing</P>
<P>'objHTML = Server.HTMLEncode( objHTML )</P>
<P>%&gt;</P>
<P><BR>var rsscode;</P>
<P>rsscode="&lt;%=objHTML%&gt;";<BR>RSSbox.innerHTML = "";<BR>if(rsscode == "")<BR>{<BR>&nbsp;&nbsp;&nbsp; RSSbox.innerHTML = "nothing found";<BR>}<BR>RSSbox.innerHTML = rsscode<BR></P>
<P>&lt;?xml version="1.0"&nbsp; encoding="GB2312"?&gt;&nbsp;&nbsp; <BR>&lt;xsl:stylesheet xmlns:xsl="<A href="http://www.w3.org/1999/XSL/Transform">http://www.w3.org/1999/XSL/Transform</A>" version="1.0"&gt;<BR>&lt;xsl:template match="/"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;ul&gt;<BR>&nbsp;&lt;xsl:apply-templates select="//item"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/ul&gt;<BR>&lt;/xsl:template&gt;</P>
<P>&lt;xsl:template match="item"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;li&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;xsl:element name="a"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:attribute name="href"&gt;&lt;xsl:value-of select="link"/&gt;&lt;/xsl:attribute&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:attribute name="title"&gt;&lt;xsl:value-of select="PubDate"/&gt;&lt;/xsl:attribute&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsl:value-of select="title" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/xsl:element&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/li&gt;&nbsp;&nbsp; <BR>&lt;/xsl:template&gt;</P>
<P>&lt;/xsl:stylesheet&gt;<BR></P>
<P>孟子E章的新作，收藏一下<A id=viewpost.ascx_TitleUrl href="http://blog.csdn.net/net_lover/archive/2004/07/07/36015.aspx"><BR>Ms XmlDom 异步装载Xml文件</A> <BR></P>
<P>&lt;script&gt;<BR>var xmldoc;<BR>function Load(){<BR>&nbsp; xmldoc = new ActiveXObject("Msxml2.DOMDocument");<BR>&nbsp; xmldoc.onreadystatechange = CheckState;<BR>&nbsp; xmldoc.resolveExternals = false;<BR>&nbsp; xmldoc.load(URL.value);<BR>}<BR>function CheckState(){<BR>&nbsp; var state = xmldoc.readyState;<BR>&nbsp; RESULTS.innerHTML += "加载状态 = " + state + "&lt;BR&gt;"<BR>&nbsp; if (state == 4){<BR>&nbsp;&nbsp;&nbsp; var err = xmldoc.parseError;<BR>&nbsp;&nbsp;&nbsp; if (err.errorCode != 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RESULTS.innerHTML += err.reason +&nbsp; "&lt;BR&gt;"<BR>&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; RESULTS.innerHTML += "加载成功。" +&nbsp; "&lt;BR&gt;"<BR>&nbsp;&nbsp;&nbsp;&nbsp; alert(xmldoc.xml)<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp; } <BR>} <BR>&lt;/script&gt;<BR>URL: &lt;input type=text size=60 id=URL value="<A href="http://dotnet.aspx.cc/Rss.aspx"><FONT color=#223355>http://dotnet.aspx.cc/Rss.aspx</FONT></A>"&gt;<BR>&lt;input type=button value="正在XML" onclick="Load()"&gt;<BR>&lt;div id=RESULTS style="color:red; font-weight:bold;"&gt;&lt;/div&gt;&lt;/script&gt;</P>
<P class=postfoot>&nbsp;</P>
<P>Consuming RSS feeds on your web site<BR><A href="http://www.dotnetbips.com/displayarticle.aspx?id=243">http://www.dotnetbips.com/displayarticle.aspx?id=243</A><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD width=6 background=menu/comment_box_left.gif></TD>
<TD class=verdana1 vAlign=top bgColor=#f5f5f5>A Free Personal Web-based RSS News Reader <BR><A href="http://reader.rocketinfo.com/desktop/">http://reader.rocketinfo.com/desktop/</A></TD></TR></TBODY></TABLE><BR></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/22011.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Oracle常用的一些功能集锦</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/06/21710.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 06 Jul 2004 07:18:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/06/21710.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/21710.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/06/21710.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/21710.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/21710.html</trackback:ping><description><![CDATA[<P>数值函数：<BR>abs(m)&nbsp;&nbsp;m的绝对值<BR>mod(m,n)&nbsp;m被n除后的余数<BR>power(m,n)&nbsp;m的n次方<BR>round(m[,n])&nbsp;m四舍五入至小数点后n位的值（n缺省为0）<BR>trunc(m[,n])&nbsp;m截断n位小数位的值（n缺省为0）</P>
<P>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</P>
<P>字符函数：<BR>initcap(st)&nbsp;返回st将每个单词的首字母大写，所有其他字母小写<BR>lower(st)&nbsp;返回st将每个单词的字母全部小写<BR>upper(st)&nbsp;返回st将每个单词的字母全部大写<BR>concat(st1,st2)&nbsp;&nbsp;返回st为st2接st1的末尾（可用操作符"||"）<BR>lpad(st1,n[,st2])&nbsp;返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格<BR>rpad(st1,n[,st2])&nbsp;返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格<BR>ltrim(st[,set])&nbsp;&nbsp;返回st,st为从左边删除set中字符直到第一个不是set中的字符。缺省时，指的是空格<BR>rtrim(st[,set])&nbsp;&nbsp;返回st,st为从右边删除set中字符直到第一个不是set中的字符。缺省时，指的是空格<BR>replace(st,search_st[,replace_st])&nbsp;将每次在st中出现的search_st用replace_st替换，返回一个st。缺省时，删除search_st<BR>substr(st,m[,n])&nbsp;n=返回st串的子串，从m位置开始，取n个字符长。缺省时，一直返回到st末端<BR>length(st)&nbsp;数值，返回st中的字符数<BR>instr(st1,st2[,m[,n]])&nbsp;&nbsp;数值，返回st1从第m字符开始，st2第n次出现的位置，m及n的缺省值为1<BR>例：<BR>1.<BR>select initcap('THOMAS'),initcap('thomas') from test;<BR>initca initca<BR>------ ------<BR>Thomas Thomas<BR>2.<BR>select concat('abc','def') "first" from test;<BR>first<BR>-----<BR>abcdef<BR>3.<BR>select 'abc'||' '||'def' "first" from test;<BR>first<BR>-----<BR>abc def<BR>4.<BR>select lpad(name,10),rpad(name,5,'*') from test;<BR>lpad(name,10) rpad(name,5,'*')<BR>------------ ----------------<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mmx mmx**<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; abcdef abcde<BR>5.<BR>去掉地址字段末端的点及单词st和rd<BR>select rtrim(address,'. st rd') from test<BR>6.<BR>select name,replace(name,'a','*') from test;<BR>name&nbsp; replace(name,'a','*')<BR>----&nbsp; ---------------------<BR>great gre*t<BR>7.<BR>select substr('archibald bearisol',6,9) a,substr('archibald bearisol',11) b from test;<BR>a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b<BR>-------&nbsp;&nbsp; -------<BR>bald bear bearisol<BR>8.<BR>select name,instr(name,' ') a,instr(name,' ',1,2) b from test;<BR>name&nbsp;&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b<BR>------- -------- ---------<BR>li lei&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<BR>l i l&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4</P>
<P>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</P>
<P>转换函数：<BR>nvl(m,n)&nbsp;如果m值为null,返回n,否则返回m<BR>to_char(m[,fmt])&nbsp;m从一个数值转换为指定格式的字符串fmt缺省时，fmt值的宽度正好能容纳所有的有效数字<BR>to_number(st[,fmt])&nbsp;st从字符型数据转换成按指定格式的数值，缺省时数值格式串的大小正好为整个数<BR>附：<BR>to_char()函数的格式：<BR>---------------------------------<BR>符号&nbsp;&nbsp;&nbsp; 说明<BR>---------------------------------<BR>9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个9代表结果中的一位数字<BR>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 代表要显示的先导0<BR>$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 美元符号打印在数的左边<BR>L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任意的当地货币符号<BR>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打印十进制的小数点<BR>,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打印代表千分位的逗号<BR>---------------------------------<BR>例：<BR>1.<BR>select to_number('123.45')+to_number('234.56') form test;<BR>to_number('123.45')+to_number('234.56')<BR>----------------------------------------<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 358.01<BR>2.<BR>select to_char(987654321) from test;<BR>to_char(987654321)<BR>------------------<BR>987654321<BR>3.<BR>select to_char(123,'$9,999,999') a,to_char(54321,'$9,999,999') b,to_char(9874321,'$9,999,999') c from test;<BR>a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c<BR>------- ---------- -----------<BR>$123&nbsp;&nbsp;&nbsp; $54,321&nbsp;&nbsp;&nbsp; $9,874,321<BR>4.<BR>select to_char(1234.1234,'999,999.999') a,to_char(0.4567,'999,999.999') b,to_char(1.1,'999,999.999') from test;<BR>a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c<BR>--------- ---------- ------------<BR>1,234.123 .457&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.100</P>
<P>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</P>
<P>分组函数：<BR>avg([distinct/all] n)&nbsp;列n的平均值<BR>count([all] *)&nbsp;&nbsp;返回查询范围内的行数包括重复值和空值<BR>count([distinct/all] n)&nbsp;非空值的行数<BR>max([distinct/all] n)&nbsp;该列或表达式的最大值<BR>min([distinct/all] n)&nbsp;该列或表达式的最小值<BR>stdev([distinct/all] n)&nbsp;该列或表达式的标准偏差，忽略空值<BR>sum([distinct/all] n)&nbsp;该列或表达式的总和<BR>variance([distinct/all] n)&nbsp;该列或表达式的方差，忽略空值</P>
<P>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</P>
<P>日期函数：<BR>add_months(d,n)&nbsp;&nbsp;日期d加n个月<BR>last_day(d)&nbsp;&nbsp;包含d的月份的最后一天的日期<BR>month_between(d,e)&nbsp;日期d与e之间的月份数，e先于d<BR>new_time(d,a,b)&nbsp;&nbsp;a时区的日期和时间d在b时区的日期和时间<BR>next_day(d,day)&nbsp;&nbsp;比日期d晚，由day指定的周几的日期<BR>sysdate&nbsp;&nbsp;当前的系统日期和时间<BR>greatest(d1,d2,...dn)&nbsp;给出的日期列表中最后的日期<BR>least(d1,k2,...dn)&nbsp;给出的日期列表中最早的日期<BR>to_char(d [,fmt])&nbsp;日期d按fmt指定的格式转变成字符串<BR>to_date(st [,fmt])&nbsp;字符串st按fmt指定的格式转成日期值，若fmt忽略，st要用缺省格式<BR>round(d [,fmt])&nbsp;&nbsp;日期d按fmt指定格式舍入到最近的日期<BR>trunc(d [,fmt])&nbsp;&nbsp;日期d按fmt指定格式截断到最近的日期<BR>附：<BR>日期格式：<BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR>格式代码　&nbsp;&nbsp;&nbsp; 说明&nbsp;&nbsp;&nbsp;举例或可取值的范围<BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR>DD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该月某一天&nbsp;&nbsp;1－3<BR>DY&nbsp;　　　三个大写字母表示的周几&nbsp;SUN，...SAT<BR>DAY&nbsp;　　　完整的周几，大写英文&nbsp;SUNDAY，...SATURDAY<BR>MM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 月份&nbsp;&nbsp;&nbsp;1－12<BR>MON　　　　　 三个大写字母表示的月份&nbsp;JAN，...DEC<BR>MONTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 完整&nbsp;&nbsp;&nbsp;JANUARY,...DECEMBER<BR>RM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 月份的罗马数字&nbsp;&nbsp;I,...XII<BR>YY或YYYY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两位，四位数字年<BR>HH:MI:SS　　　时：分：秒<BR>HH12或HH24　　以12小时或24小时显示<BR>MI　　　　　　分<BR>SS　　　　　　秒<BR>AM或PM　　　　上下午指示符<BR>SP　　　　　　后缀SP要求拼写出任何数值字段<BR>TH　　　　　　后缀TH表示添加的数字是序数　4th,1st<BR>FM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前缀对月或日或年值，禁止填充<BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR>例：<BR>1.<BR>下一个周五的日期<BR>select next_day(sysdate,6) from test;<BR>2.<BR>两个月前的今天的日期<BR>select add_months(sysdate,-2) from test;<BR></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/21710.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47969/" target="_blank">新浪邮箱大本营粉墨登场！Sina.cn开放注册</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>XML Server与XML-enabled Web Server介绍</title><link>http://www.cnblogs.com/hbzxf/archive/2004/07/02/20595.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Fri, 02 Jul 2004 08:45:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/07/02/20595.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/20595.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/07/02/20595.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/20595.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/20595.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 伴随着Internet网络的一天天发展壮大，Internet已经成为一个人们不可缺少的工具，而人们为了更有效的利用网络的技术能力，而努力将各式各样的信息以各种不同的方式汇入到这个的bit海洋中，而这个信息的海洋也变得超乎想象的巨大，人们现在被铺天盖地的信息所吞没，以至于感觉到象真正置身在大海中时的那种危险。我们无法简洁有效的利用这个资源，大量的信息垃圾使得分辩信息价值变得有如在深海中寻宝一样艰难。但事实上还有许多种类的信息没有进入或者正准备进入网络，但很明显原有的信息管理技术肯定已经不能满足人们的需要，人们为了解决这个问题，而开发了许多的新的技术，其中就有我们这篇文章里的主角所采用的新技术&nbsp;--&nbsp;XML。&nbsp;<BR><BR>　　对于XML这种技术，我想大家对它已经有了相当的了解，所以也就不再多介绍了。但是对于如何用XML开发应用，使其能够真正的发挥作用，我感觉这方面的文章还比较的少。因此以此文介绍的两种XML应用--XML&nbsp;Server与XML-enabled&nbsp;Web&nbsp;Server为引，同大家一起探讨如何应用XML技术。&nbsp;<BR><BR>第一节、什么是XML&nbsp;Server与XML-enabled&nbsp;Web&nbsp;Server?&nbsp;<BR>　　什么是XML&nbsp;Server?&nbsp;准确定义XML&nbsp;Server这个概念是困难的，因为这实在是一个比较新，而且概念很广泛的东西，虽然已经有许多的产品称自己为XML&nbsp;Server，比如:DataChannel公司的DataChannel&nbsp;Server&nbsp;4.1；Software&nbsp;AG公司的Tamino；Excelon公司的excelon，但在应用的范围上以及功能上，每种产品都各不相同，因此这里也就不为XML&nbsp;Server进行定义，而是归纳这几种产品的共同拥有的一些特点，以说明的方式来向大家解释XML&nbsp;Server这个概念。&nbsp;<BR><BR>简单地讲，XML&nbsp;Server是一个提供数据的平台，它能够以XML文档的形式与分布式的应用进行数据交互。比如电子商务及B2B这一类的应用。这听上去和传统的数据库非常的相似，它和数据库一样提供数据的存贮与提取功能，但数据的格式的是基于XML的，因此在数据的处理方面，所用的是和传统数据库完全不同的技术了，但抛开这个不谈，广义上我们可以认为它是一个XML数据库。至于为什么叫XML&nbsp;Server而不是XML&nbsp;Database，那是因为XML&nbsp;Database的范围比XML&nbsp;Server所应用的范围更加广泛，根据Ronald&nbsp;Bourret.&nbsp;在XML&nbsp;Database&nbsp;Products一文中的描述，XML&nbsp;Database中包含有六种类型的产品，分别为：&nbsp;<BR>　　1.Middleware&nbsp;<BR><BR>　　2.XML-Enabled&nbsp;Databases&nbsp;<BR><BR>　　3.XML&nbsp;Servers&nbsp;<BR><BR>　　4.XML-Enabled&nbsp;Web&nbsp;Servers&nbsp;<BR><BR>　　5.Content&nbsp;Management&nbsp;Systems&nbsp;<BR><BR>　　6.Persistent&nbsp;DOM&nbsp;Implementations&nbsp;<BR><BR>　　XML&nbsp;Server被认为是XML&nbsp;Database其中的一种。&nbsp;<BR><BR>　　XML-enabled&nbsp;Server则相对来讲比较容易理解，因为它本质上就是一个Web&nbsp;Server，对于客户端而言，浏览Web，客户端不会感觉它和传统Web&nbsp;Server有什么太大的区别，但实际上Server端在对REQUEST处理方法上，XML-enabled&nbsp;Web&nbsp;Server和传统Web&nbsp;Server是完全两种不同的方式，这是由于XML文档与HTML文档本身的特性所决定的。我们大家都知道，XML文档是一种以数据为中心的文档，XML文档本身没有格式化的信息，而是通过特定的XSL或者CSS来表现。数据和表现是分离的。而在客户端提交需求后由XML-enabled&nbsp;Web&nbsp;Server将内容与形式结合后把最终结果发布给客户端的Web&nbsp;Server。因此这是一种胖服务器，瘦客户的模式。这种模式同微软将XSL&nbsp;Parser集成到IE中的设计思想是完全不同的。它的优点是能够对不同的设备浏览Web的提供各自相应的格式的文档，而不需要人工的干涉。&nbsp;<BR><BR><IMG onmouseover="this.style.cursor='hand';" onclick=window.open(this.src); alt=按此在新窗口打开图片 src="http://www.wodao.net/attachments/month_0405/c!5g_image001.jpg" onload="if(this.width>=538) {this.width=538;}" border=0><BR><BR><IMG onmouseover="this.style.cursor='hand';" style="CURSOR: hand" onclick=window.open(this.src); alt="" src="http://www.wodao.net/attachments/month_0405/ie-l_image002.jpg" onload="if(this.width>=538) {this.width=538;}" border=0 pop="按此在新窗口打开图片"><BR><BR>我们可以从上面的图中可以比较直观的看出XML-enabled&nbsp;Web&nbsp;Server与传统Web&nbsp;Server的不同。<BR><BR>第二节、我们为什么需要XML&nbsp;Server&nbsp;<BR>　　为什么我们需要它？这是因为XML&nbsp;Server采用的是XML技术，我们需要XML理由，同样也是我们为什么需要XML&nbsp;Server的理由，同时，XML&nbsp;Server可以提供比单纯XML文档更强的管理XMl格式数据的能力！而且可以避免用传统数据库时需要进行数据转换的过程，而获得高效。&nbsp;<BR><BR>第三节、我们为什么需要XML-enabled&nbsp;Web&nbsp;Server？&nbsp;<BR>　　能够将数据同表现分离，我想这也许是Web工作人员最大的希望与心愿，对于这我想实在不需要再多说什么了。:)&nbsp;<BR><BR>第四节、它们的所存在的问题&nbsp;<BR>　　任何一项新的技术在没有完全成熟以前都会存在许多的缺点，XML&nbsp;Server同XML-enabled&nbsp;Server也不会例外，除去通常新产品所共有的问题（比如：需要时间学习等）以外。我认为它们分别存在下面一些缺点：&nbsp;<BR><BR>　　对于XML&nbsp;Server：&nbsp;<BR><BR>　　XML&nbsp;Server的性能如何，是我最关心的问题！因为它采用的是一种全新的数据组织方式，而这种方式在过去还没有得到过广泛的应用。正如我们有理由看好XML&nbsp;Server发展前景的同时，我们也有理由对这种没有经过大范围使用的产品持怀疑态度。事实也证明我的担心不是没有道理，我们可以看一下几种典型XML&nbsp;Server产品的配置需求。&nbsp;<BR><BR>　　△&nbsp;DataChannel&nbsp;Server&nbsp;4.1&nbsp;在Windows环境下的硬件要求：&nbsp;<BR><BR>　　500MHz&nbsp;or&nbsp;faster&nbsp;Pentium&nbsp;III&nbsp;processor&nbsp;with&nbsp;at&nbsp;least&nbsp;256MB&nbsp;of&nbsp;RAM&nbsp;<BR><BR>　　△&nbsp;DataChannel&nbsp;Server&nbsp;4.1&nbsp;在Windows环境下的硬件要求：&nbsp;<BR><BR>　　Sun&nbsp;Ultra&nbsp;10&nbsp;or&nbsp;equivalent.&nbsp;At&nbsp;least&nbsp;256MB&nbsp;of&nbsp;RAM&nbsp;<BR><BR>　　△&nbsp;Tamino&nbsp;在Windows环境下的硬件要求：&nbsp;<BR><BR>　　At&nbsp;least&nbsp;300MHZ&nbsp;or&nbsp;faster.&nbsp;At&nbsp;least&nbsp;256MB&nbsp;of&nbsp;RAM&nbsp;<BR><BR>　　对于XML-enabled&nbsp;Web&nbsp;Server：&nbsp;<BR><BR>　　最大的问题是XML-enabled&nbsp;Web&nbsp;Server太复杂了，比较起原来用Html和传统Web&nbsp;Server建设Web，懂得使用XML这些先进技术的人还是太少了，而且Server的安装也显得太复杂，而开发工具则又太专业了。如何使电脑的初级用户能很快的学会使用它，是它需要解决的另外一个问题。&nbsp;<BR><BR>第五节、XML&nbsp;Server较典型的产品&nbsp;<BR>　　1、DataChannel公司的DataChannel&nbsp;Server&nbsp;4.1&nbsp;<BR><BR>　　一个以提供有效的企业信息管理，发布和重用的企业信息入口。它的特点是：&nbsp;<BR><BR>　　●提供纯XML格式数据的存贮（即XML数据不转换成关系型数据库的形式）&nbsp;<BR><BR>　　●XML层次形的数据结构使得它比关系型数据库管理更高效&nbsp;<BR><BR>　　●支持通过标准Web协议访问数据&nbsp;<BR><BR><IMG onmouseover="this.style.cursor='hand';" onclick=window.open(this.src); alt=按此在新窗口打开图片 src="http://www.wodao.net/attachments/month_0405/2yp6_image003.jpg" width=538 onload="if(this.width>=538) {this.width=538;}" border=0><BR><BR>　从上图我们可以很明了的看出DataChannel的在企业信息管理中扮演的角色。&nbsp;<BR><BR>　　Software&nbsp;AG公司的Tamino&nbsp;<BR><BR>　　Tamino&nbsp;是一个便利而高效的电子商务平台，利用先进的XML技术使得电子商务过程更加平易近人。下图描绘了Tamino的一个解决方案图，从中我们可以很清晰的看出Tamino在电子商务的过程中所扮演的角色。&nbsp;<BR><BR><IMG onmouseover="this.style.cursor='hand';" onclick=window.open(this.src); alt=按此在新窗口打开图片 src="http://www.wodao.net/attachments/month_0405/-7ya_image004.jpg" onload="if(this.width>=538) {this.width=538;}" border=0><BR><BR>第六节、XML-enabled&nbsp;Web&nbsp;Server&nbsp;产品&nbsp;<BR>　　在XML-enabled&nbsp;Web&nbsp;Server&nbsp;的产品中，cocoon可能是最为惹人注目的，它是Apache&nbsp;Software&nbsp;Foundation&nbsp;(ASF)小组用纯Java技术开发的一个Free&nbsp;Code的XML-enabled&nbsp;Web&nbsp;Server产品，凭借Apache&nbsp;Web&nbsp;Server的名头，恐怕没有人会不对这个产品感兴趣。&nbsp;<BR>　　下面我们简单介绍一下这个产品。&nbsp;<BR>　　1、运行环境：cocoon可以运行在下面表格所示的系统中，从中我们可以看出cocoon适用的环境非常广泛。&nbsp;<BR>Operating&nbsp;System&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Web&nbsp;Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Servlet&nbsp;Engine&nbsp;&nbsp;&nbsp;&nbsp;JVM<BR>Debian&nbsp;Potato&nbsp;or&nbsp;Woody&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;JServ&nbsp;1.1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.8&nbsp;or&nbsp;1.3<BR>RedHat&nbsp;Linux&nbsp;6.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.8<BR>RedHat&nbsp;Linux&nbsp;6.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1b3&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.8<BR>RedHat&nbsp;Linux&nbsp;6.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;Blackdown&nbsp;JDK&nbsp;1.2pre2<BR>RedHat&nbsp;Linux&nbsp;6.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JRun&nbsp;2.3.3&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JRE&nbsp;1.1.8<BR>RedHat&nbsp;Linux&nbsp;6.1&nbsp;(i686)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.11&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>RedHat&nbsp;Linux&nbsp;6.1&nbsp;(i686&nbsp;&nbsp;Apache&nbsp;1.3.11&nbsp;+&nbsp;mod_ssl&nbsp;2.5.0&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.8<BR>RedHat&nbsp;Linux&nbsp;6.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12-2&nbsp;&nbsp;&nbsp;&nbsp;Jserv&nbsp;1.1.2-2&nbsp;&nbsp;&nbsp;&nbsp;JDK&nbsp;1.2.2_006<BR>RedHat&nbsp;Linux&nbsp;6.2&nbsp;(i686)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;+&nbsp;mod_ssl&nbsp;2.6.5&nbsp;&nbsp;&nbsp;&nbsp;JRun&nbsp;2.3.3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>RedHat&nbsp;Linux&nbsp;6.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12-2&nbsp;&nbsp;&nbsp;&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;JDK&nbsp;1.2.2_006<BR>RedHat&nbsp;Linux&nbsp;6.2&nbsp;(i686)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Resin&nbsp;1.2.b1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>SuSE&nbsp;6.3&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>SuSE&nbsp;7.0&nbsp;Linux&nbsp;(2.2.16)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1.2,&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.3<BR>Windows&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.7<BR>Windows&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1b3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1b3&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.7<BR>Windows&nbsp;98&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MS&nbsp;Personal&nbsp;Web&nbsp;Server&nbsp;&nbsp;&nbsp;&nbsp;ServletExec&nbsp;2.2&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.1<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IIS&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;ServletExec&nbsp;2.2&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.1<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IIS&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;JRun&nbsp;2.3.3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.1<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;JRun&nbsp;2.3.3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;Jakarta&nbsp;Tomcat&nbsp;3.1&nbsp;Milestone&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;SP4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEA&nbsp;WebLogic&nbsp;Server&nbsp;5.1&nbsp;SP3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;SP5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IIS&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;Websphere&nbsp;3.5&nbsp;Enterprise&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;NT&nbsp;4.0&nbsp;SP6a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.11&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;2000&nbsp;Professional&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.2<BR>Windows&nbsp;2000&nbsp;Professional&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.3<BR>Windows&nbsp;2000&nbsp;Advanced&nbsp;Server&nbsp;&nbsp;&nbsp;&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;JDK&nbsp;1.3<BR>MacOS&nbsp;8.5+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resin&nbsp;1.1b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MRJ&nbsp;2.2<BR>MacOS&nbsp;8.6&nbsp;&nbsp;&nbsp;&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;MRJ&nbsp;2.2.2&nbsp;<BR>MacOS&nbsp;8.6&nbsp;&nbsp;&nbsp;&nbsp;WebSTAR&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;JRun&nbsp;2.3&nbsp;&nbsp;&nbsp;&nbsp;MrJ&nbsp;2.1.4<BR>MacOS&nbsp;8.6&nbsp;&nbsp;&nbsp;&nbsp;WebSTAR&nbsp;4.0&nbsp;&nbsp;&nbsp;&nbsp;ServletExec&nbsp;2.1&nbsp;&nbsp;&nbsp;&nbsp;Mrj&nbsp;2.1.4<BR>MacOS&nbsp;8.6&nbsp;&nbsp;&nbsp;&nbsp;Quid&nbsp;Pro&nbsp;Quo&nbsp;2.1.3&nbsp;&nbsp;&nbsp;&nbsp;ServletExec&nbsp;2.2&nbsp;&nbsp;&nbsp;&nbsp;Mrj&nbsp;2.1.4<BR>Solaris&nbsp;2.5.1&nbsp;&nbsp;&nbsp;&nbsp;Netscape-Enterprise/3.6&nbsp;SP3&nbsp;&nbsp;&nbsp;&nbsp;ServletExec&nbsp;2.2&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.1<BR>SunOS&nbsp;Netria&nbsp;5.6&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1b3&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.1.7<BR>Solaris&nbsp;8&nbsp;(SPARC)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Tomcat&nbsp;3.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.3&nbsp;Beta&nbsp;Refresh<BR>Solaris&nbsp;8&nbsp;(x86)&nbsp;&nbsp;&nbsp;&nbsp;Resin&nbsp;1.2.b1&nbsp;&nbsp;&nbsp;&nbsp;JDK&nbsp;1.3&nbsp;beta&nbsp;<BR>FreeBSD&nbsp;3.4&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.9&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.0&nbsp;&nbsp;&nbsp;&nbsp;Blackdown&nbsp;JDK&nbsp;1.1.8<BR>FreeBSD&nbsp;3.4-Stable&nbsp;with&nbsp;linux_base-6.1&nbsp;for&nbsp;linux-emulation&nbsp;&nbsp;&nbsp;&nbsp;Jetty&nbsp;Java&nbsp;HTTP&nbsp;Server&nbsp;v2.3.3&nbsp;&nbsp;&nbsp;&nbsp;Blackdown&nbsp;jdk-1.2.2-RC4-linux-i386-glibc<BR>FreeBSD&nbsp;4.1&nbsp;(RELEASE)&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Jserv&nbsp;1.1.2&nbsp;&nbsp;&nbsp;&nbsp;Linux&nbsp;JDK&nbsp;1.2.2<BR>SCO&nbsp;OpenServer&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;WebLogic&nbsp;4.5.1&nbsp;&nbsp;&nbsp;&nbsp;SCO&nbsp;JDK&nbsp;1.1.7A<BR>OS/2&nbsp;Warp&nbsp;4&nbsp;FP&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;Gefion&nbsp;Software&nbsp;LiteWebServer&nbsp;&nbsp;&nbsp;&nbsp;IBM&nbsp;JDK&nbsp;1.1.8<BR>SGI&nbsp;IRIX&nbsp;6.5.7&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;1.3.12&nbsp;&nbsp;&nbsp;&nbsp;Apache&nbsp;JServ&nbsp;1.1&nbsp;&nbsp;&nbsp;&nbsp;Sun&nbsp;JDK&nbsp;1.2.1&nbsp;(SGI)<BR><BR>　　2、cocoon的处理过程：&nbsp;<BR>　　cocoon将网站开发分成三个层面：&nbsp;<BR>　　●内容层：编辑用定义好了的DTD或者Schema将内容输入到XML文件&nbsp;<BR>　　●逻辑层：客户需要的XML文件被进行逻辑处理（注意，这里的逻辑处理和我们传统用ASP或者PHP读数据库产生文件的思想是不同的。）&nbsp;<BR>　　●表现层：将通过逻辑处理过后的结果用XSL进行最后的样式加工。&nbsp;<BR>　　因此很好的解决了数据与表现分离的问题。因此cocoon支持以pdf,wml,html等常用格式发布xml文档，但是除此以外cocoon同传统的Web&nbsp;Server几乎没有区别了。&nbsp;<BR>　　第七节、最后&nbsp;<BR>　　目前国内对于XML感兴趣的人越来越多了，但是中文的XML的资料还比较少，希望能够通过此文给各位爱好XML的朋友提供一此我所知道的XML应用方面的知识。文章里介绍了几个典型的XML&nbsp;Server&nbsp;与XML&nbsp;-enabled&nbsp;Server的产品，但事实上还有很多其它的产品没有提到，这里我且做个抛砖引玉人吧，希望以后可以看到其他朋友在这方面的文章。&nbsp;<BR><BR>本文为转载文章<img src ="http://www.cnblogs.com/hbzxf/aggbug/20595.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47968/" target="_blank">IE市场份额首次跌破60%</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>对于想这种频繁的视图如何看待</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/30/19868.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 30 Jun 2004 09:47:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/30/19868.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/19868.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/30/19868.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/19868.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/19868.html</trackback:ping><description><![CDATA[由于要做某个模块，想拿来先前同事写的视图代码一用，可是那来后我才发觉是这样子的<BR><IMG src="http://www.cnblogs.com/Emoticons/confused_smile.gif"><IMG src="http://www.cnblogs.com/Emoticons/confused_smile.gif"><IMG src="http://www.cnblogs.com/Emoticons/confused_smile.gif"><BR>create view zc_ypz as<BR>select zcgs,dwdm,zysx,hj,1 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=1 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '100%' or mlbh like '110%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs,dwdm,zysx,hj,2 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=1 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '010%' or mlbh like '030%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,3 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=1 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '040%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,4 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=1 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '05001%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,5 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=1 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh not like '100%' and mlbh not like '110%' and mlbh <BR>not like '010%' and mlbh not like '030%' and mlbh not like '040%' and mlbh not like '05001%') and <BR>mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,1 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=2 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '100%' or mlbh like '110%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,2 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=2 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '010%' or mlbh like '030%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,3 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=2 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '040%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,4 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=2 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '05001%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,5 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk <BR>where zcgs=2 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh not like '100%' and mlbh not like '110%' and mlbh <BR>not like '010%' and mlbh not like '030%' and mlbh not like '040%' and mlbh not like '05001%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,1 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk <BR>where zcgs=3 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '100%' or mlbh like '110%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,2 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk <BR>where zcgs=3 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '010%' or mlbh like '030%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,3 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk <BR>where zcgs=3 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '040%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,4 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk <BR>where zcgs=3 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '05001%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,5 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk <BR>where zcgs=3 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh not like '100%' and mlbh not like '110%' and mlbh <BR>not like '010%' and mlbh not like '030%' and mlbh not like '040%' and mlbh not like '05001%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,1 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk <BR>where zcgs=4 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '100%' or mlbh like '110%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,2 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk <BR>where zcgs=4 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh like '010%' or mlbh like '030%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,3 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk <BR>where zcgs=4 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '040%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,4 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk <BR>where zcgs=4 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and mlbh like '05001%' and mlbh not like '120%' group by dwdm,zysx,hj,zcgs <BR>union<BR>select zcgs, dwdm,zysx,hj,5 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk <BR>where zcgs=4 and zysx&lt;&gt;10 and zysx&lt;&gt;7 and (mlbh not like '100%' and mlbh not like '110%' and mlbh <BR>not like '010%' and mlbh not like '030%' and mlbh not like '040%' and mlbh not like '05001%') and mlbh not like '120%' group by dwdm,zysx,hj,zcgs<BR>union<BR>select zcgs, dwdm,zysx,hj,0 as kpml,sum(yzje) as aa,0 as bb,0 as cc,0 as dd from zc_skpk where <BR>zcgs=1 and zysx=10 group by dwdm,zysx,hj,zcgs<BR>union <BR>select zcgs, dwdm,zysx,hj,0 as kpml,0 as aa,sum(yzje) as bb,0 as cc,0 as dd from zc_skpk where <BR>zcgs=2 and zysx=10 group by dwdm,zysx,hj,zcgs<BR>union <BR>select zcgs, dwdm,zysx,hj,0 as kpml,0 as aa,0 as bb,sum(yzje) as cc,0 as dd from zc_skpk where <BR>zcgs=3 and zysx=10 group by dwdm,zysx,hj,zcgs<BR>union <BR>select zcgs, dwdm,zysx,hj,0 as kpml,0 as aa,0 as bb,0 as cc,sum(yzje) as dd from zc_skpk where <BR>zcgs=4 and zysx=10 group by dwdm,zysx,hj,zcgs<BR>union<BR>select b.zcgs, b.dwdm,a.zylxbh as zysx,b.hj,1 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=1 and a.zylxbh&lt;&gt;10 and (b.mlbh like '100%' or b.mlbh like '110%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,2 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=1 and a.zylxbh&lt;&gt;10 and (b.mlbh like '010%' or b.mlbh like '030%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,3 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=1 and a.zylxbh&lt;&gt;10 and b.mlbh like '040%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,4 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=1 and a.zylxbh&lt;&gt;10 and b.mlbh like '05001%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,5 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=1 and a.zylxbh&lt;&gt;10 and (b.mlbh not like '100%' and b.mlbh not like '110%' and b.mlbh not <BR>like '010%' and b.mlbh not like '030%' and b.mlbh not like '040%' and b.mlbh not like '05001%') <BR>and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,1 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=2 and a.zylxbh&lt;&gt;10 and (b.mlbh like '100%' or b.mlbh like '110%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,2 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=2 and a.zylxbh&lt;&gt;10 and (b.mlbh like '010%' or b.mlbh like '030%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,3 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=2 and a.zylxbh&lt;&gt;10 and b.mlbh like '040%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,4 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=2 and a.zylxbh&lt;&gt;10 and b.mlbh like '05001%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,5 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=2 and a.zylxbh&lt;&gt;10 and (b.mlbh not like '100%' and b.mlbh not like '110%' and b.mlbh not <BR>like '010%' and b.mlbh not like '030%' and b.mlbh not like '040%' and b.mlbh not like '05001%') <BR>and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,1 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=3 and a.zylxbh&lt;&gt;10 and (b.mlbh like '100%' or b.mlbh like '110%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,2 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=3 and a.zylxbh&lt;&gt;10 and (b.mlbh like '010%' or b.mlbh like '030%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,3 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=3 and a.zylxbh&lt;&gt;10 and b.mlbh like '040%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,4 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=3 and a.zylxbh&lt;&gt;10 and b.mlbh like '05001%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,5 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as <BR>cc,0 as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and <BR>b.zcgs=3 and a.zylxbh&lt;&gt;10 and (b.mlbh not like '100%' and b.mlbh not like '110%' and b.mlbh not <BR>like '010%' and b.mlbh not like '030%' and b.mlbh not like '040%' and b.mlbh not like '05001%') <BR>and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,1 as kpml,0 as aa,<BR>0 as bb,0 as cc,sum(a.ZYLX_JE) as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and <BR>a.dwbh=b.dwdm and b.zysx=7 and b.zcgs=4 and a.zylxbh&lt;&gt;10 and (b.mlbh like '100%' or b.mlbh like <BR>'110%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,2 as kpml,0 as aa,0 as bb,0 as cc,sum<BR>(a.ZYLX_JE) as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 <BR>and b.zcgs=4 and a.zylxbh&lt;&gt;10 and (b.mlbh like '010%' or b.mlbh like '030%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,3 as kpml,0 as aa,0 as bb,0 as cc,sum<BR>(a.ZYLX_JE) as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 <BR>and b.zcgs=4 and a.zylxbh&lt;&gt;10 and b.mlbh like '040%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,4 as kpml,0 as aa,0 as bb,0 as cc,sum<BR>(a.ZYLX_JE) as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 <BR>and b.zcgs=4 and a.zylxbh&lt;&gt;10 and b.mlbh like '05001%' and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,5 as kpml,0 as aa,0 as bb,0 as cc,sum<BR>(a.ZYLX_JE) as dd from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 <BR>and b.zcgs=4 and a.zylxbh&lt;&gt;10 and (b.mlbh not like '100%' and b.mlbh not like '110%' and b.mlbh not like '010%' and b.mlbh not like '030%' and b.mlbh not like '040%' and b.mlbh not like '05001%') and mlbh not like '120%' group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,0 as kpml,sum(a.ZYLX_JE) as aa,0 as bb,0 as cc,0 as dd <BR>from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and b.zcgs=1 and <BR>a.zylxbh=10 group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,0 as kpml,0 as aa,sum(a.ZYLX_JE) as bb,0 as cc,0 as dd <BR>from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and b.zcgs=2 and <BR>a.zylxbh=10 group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,0 as kpml,0 as aa,0 as bb,sum(a.ZYLX_JE) as cc,0 as dd <BR>from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and b.zcgs=3 and <BR>a.zylxbh=10 group by b.dwdm,a.zylxbh,b.hj,b.zcgs<BR>union<BR>select b.zcgs,b.dwdm,a.zylxbh as zysx,b.hj,0 as kpml,0 as aa,0 as bb,0 as cc,sum(a.ZYLX_JE) as dd <BR>from zc_kpzylx a,zc_skpk b where a.kpbh=b.kpbh and a.dwbh=b.dwdm and b.zysx=7 and b.zcgs=4 and <BR>a.zylxbh=10 group by b.dwdm,a.zylxbh,b.hj,b.zcgs;<BR><BR><img src ="http://www.cnblogs.com/hbzxf/aggbug/19868.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>高效.TEXTBLOG技巧终结篇</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/29/19403.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 29 Jun 2004 01:42:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/29/19403.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/19403.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/29/19403.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/19403.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/19403.html</trackback:ping><description><![CDATA[<P align=center><FONT face="">高效.TEXTBLOG技巧终结篇</FONT></P>
<P align=center><FONT face="">hbzxf(阿好)<BR></FONT><A href="http://blog.csdn.net/hbzxf/"><FONT face="" color=#000080>http://blog.csdn.net/hbzxf/</FONT></A></P>
<P align=left><FONT face="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 激活自己的CSDNBLOG已经有一星期了，把自己用半天时间学习的小技巧陆续发表了两篇文章，反映强烈。见下面：</FONT></P>
<P align=left><FONT face="">关于给.TEXTBLOG添加计数器 <BR></FONT><A href="http://blog.csdn.net/hbzxf/archive/2004/06/26/27040.aspx"><FONT face="" color=#000080>http://blog.csdn.net/hbzxf/archive/2004/06/26/27040.aspx</FONT></A></P>
<P align=left><FONT face="">制作自定义.TEXTBLOG皮肤 <BR></FONT><A href="http://blog.csdn.net/hbzxf/archive/2004/06/27/27879.aspx"><FONT face="" color=#000080>http://blog.csdn.net/hbzxf/archive/2004/06/27/27879.aspx</FONT></A><BR><BR><FONT face="">本篇文章是最后一篇.TEXTBLOG技巧性的文章了。</FONT></P>
<P align=left><FONT face="">废话少说，见下列技巧</FONT></P>
<P align=left><FONT face="">1、如果你需要为你的BLOG添加公告图片并且居中的话：</FONT></P>
<P align=left><FONT face="">在'静态新闻/声明'中添加<BR>&lt;center&gt;&lt;img src='你的图片url&gt;&lt;/center&gt;</FONT></P>
<P align=left><FONT face="">2、如果你不想让某些TD、TR显示的话你可以在相应的TR、TD样式里添加：</FONT></P>
<P align=left><FONT face="">DISPLAY：NONE<BR><BR>这个功能可以让你实现首页只显示文章的标题而不显示内容</FONT></P>
<P align=left><FONT face="">3、如果你想为你的链接添加图片的话：</FONT></P>
<P align=left>修改栏目的文字为图片链接地址&lt;img src='你的图片url' border='1'&gt;</P>
<P align=left>这个功能可以让你做到图片栏目和图片友情连接</P>
<P align=left>4、如果在公告里你的文字连成一起，你可以在需要分段的情况下添加&lt;br&gt;</P>
<P align=left>5、如果你想设计个性化的左边栏目的话，这样做：</P>
<P align=left>取消你所有的栏目定义，把所有需要添加的图片、文字、链接通过Dreamweaver设计好后，把需要的源代码复制到'静态新闻/声明'中</P>
<P align=left>6、详细分析系统的皮肤CSS文件和系统应用的位置，重新定义样式，可以实现XP风格的页面</P>
<P align=left>7、在系统任何可能输入文字的地方，都尝试加上HTML语法，可以使你的.TEXTBLOG更加个性化。</P>
<P align=left>8、如果你需要对你的.TEXTBLOG做更深入研究的话，那Javascript可能是你的选择，不过对造成的不良后果，个人承担责任。</P><img src ="http://www.cnblogs.com/hbzxf/aggbug/19403.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>B/S模式下如何使软件屏蔽系统热键</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19286.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 28 Jun 2004 09:39:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19286.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/19286.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19286.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/19286.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/19286.html</trackback:ping><description><![CDATA[<P align=center>B/S模式下如何使软件屏蔽系统热键<BR><BR>hbzxf(阿好)<BR><A href="http://www.cnblogs.com/hbzxf/">http://www.cnblogs.com/hbzxf/</A></P>
<P align=justify>&nbsp;&nbsp;&nbsp;&nbsp; 经常开发B/S模式的软件系统，我发觉在进入主系统首页界面都习惯性的打开一个无工具栏和菜单栏的窗口，首先是为了给用户提供一个比较宽阔的可视和操作空间，再次也避免了用户的误操作产生不良的后果，我的哥们'缺根弦'(名字是不是很酷)写了一个函数，基本上屏蔽掉了一些常用功能的热键，下面看看是怎么写的。<BR><BR>&nbsp;&nbsp;public void HideAllFunction(Page page)&nbsp; <BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;if(!page.IsStartupScriptRegistered ("msgHideAllFunction"))<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;string clientScript=@"&lt;script language=JavaScript&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function KeyDown(){&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((window.event.altKey)&amp;&amp;&nbsp;((window.event.keyCode==37)||(window.event.keyCode==39)))&nbsp; //屏蔽 Alt+ 方向键 ←&nbsp; //屏蔽 Alt+ 方向键 → <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; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.returnValue=false; <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;if (event.keyCode==116) //屏蔽 F5 刷新键 <BR>&nbsp;&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;event.keyCode=0; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.returnValue=false; <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;if ((event.ctrlKey)&amp;&amp;(event.keyCode==78))//屏蔽 Ctrl+n <BR>&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;event.returnValue=false; <BR>&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;if ((event.shiftKey)&amp;&amp;(event.keyCode==121))//屏蔽 shift+F10 <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;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.returnValue=false; <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;if (event.keyCode==122)//屏蔽 F11 <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;event.keyCode=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.returnValue=false; <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;} </P>
<P align=justify>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function nocontextmenu()<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;event.cancelBubble = true<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;event.returnValue = false;</P>
<P align=justify>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.onkeydown = KeyDown;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.oncontextmenu=nocontextmenu;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;";</P>
<P align=justify>&nbsp;&nbsp;&nbsp;&nbsp;page.RegisterStartupScript("msgHideAllFunction",clientScript);<BR>&nbsp;&nbsp;&nbsp;}</P>
<P align=justify><BR>&nbsp;&nbsp;}<BR></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/19286.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>如何制作.Text Blog自定义皮肤</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19147.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 28 Jun 2004 02:29:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19147.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/19147.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19147.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/19147.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/19147.html</trackback:ping><description><![CDATA[<H5 align=justify>如何制作.Text Blog自定义皮肤<BR><BR>昨天在CSDN上发表了一片关于制作.Text Blog自定义皮肤的文章，对于刚接触.TextBlog的爱好者可以参阅<BR>察看。（老手想必都会了，呵呵，小生在此耍耍大刀）</H5>
<H5 align=justify>
<DIV class=postText>
<P align=center><STRONG>制作自定义CSDNBLOG皮肤<BR><BR>hbzxf(阿好)<BR><A href="http://blog.csdn.net/hbzxf/"><FONT color=#003366>http://blog.csdn.net/hbzxf/</FONT></A></STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你已经有了一个比较个性化的计数器的话，下面我教你如何为CSDNBLOG制作自定义皮肤的功能，如果你没有并且需要为你的CSDNBLOG添加一个个性化计数器的话，可以参阅我写的另一篇文章。</P>
<P>关于给CSDNBLOG添加计数器 <BR><A href="http://blog.csdn.net/hbzxf/archive/2004/06/26/27040.aspx"><FONT color=#003366>http://blog.csdn.net/hbzxf/archive/2004/06/26/27040.aspx</FONT></A></P>
<P>1、使用系统定义皮肤<BR>系统为我们已经提供了几个定义好的皮肤界面，我们可以通过'选项'-'配置'-'皮肤'来选择自己喜欢的。</P>
<P>2、自定义皮肤</P>
<P>下面以更改Cogitation皮肤为例</P>
<P>1、选项-配置-皮肤-选择Cogitation</P>
<P>2、CSDNBLOG会默认使用<A href="http://blog.csdn.net/skins/Cogitation/style.css"><FONT color=#003366>http://blog.csdn.net/skins/Cogitation/style.css</FONT></A>为样式表文件(我怎么知道的，呵呵，源代码里面有的)</P>
<P>3、通过记事本或其他编辑工具打开<A href="http://blog.csdn.net/skins/Cogitation/style.css"><FONT color=#003366>http://blog.csdn.net/skins/Cogitation/style.css</FONT></A>可以看到如下内容(截取部分)</P>
<P>.HeaderTitles a:visited,<BR>.HeaderTitles a:active,<BR>.HeaderTitles a:link,<BR>.HeaderTitles a:hover<BR>{<BR>&nbsp;color: White;<BR>&nbsp;text-decoration : none;<BR>&nbsp;font-size: .75em;<BR>&nbsp;font-weight: normal;<BR>}</P>
<P>.HeaderBar<BR>{<BR>&nbsp;font-weight: normal;<BR>&nbsp;font-size: 8pt;<BR>&nbsp;border-collapse: collapse;<BR>&nbsp;background-image: url(images/BlueTabBack.jpg);<BR>&nbsp;&nbsp; background-repeat:repeat-x;<BR>}</P>
<P>.HeaderBar a:visited,<BR>.HeaderBar a:active,<BR>.HeaderBar a:link<BR>{<BR>&nbsp;color: WhiteSmoke;<BR>&nbsp;text-decoration: none;<BR>&nbsp;font-weight: normal;<BR>}</P>
<P>.HeaderBarTab<BR>{<BR>&nbsp;background-image: url(images/BlueTabFace.jpg);<BR>&nbsp;&nbsp; background-repeat:repeat-x;<BR>&nbsp;&nbsp; border-collapse: collapse;<BR>&nbsp;&nbsp; padding: 0px;<BR>}</P>
<P>.BlogStatsBar<BR>{<BR>&nbsp;text-align:right;<BR>&nbsp;font-weight: normal;<BR>&nbsp;font-size: 7pt;<BR>&nbsp;color: Silver;<BR>&nbsp;border-collapse:collapse;<BR>}</P>
<P>4、我们现在重新定义#top，#top定义了版面顶部样式</P>
<P>原始样式内容如下：</P>
<P>#top <BR>{<BR>&nbsp;background-image: url(images/BlueTabBackground.gif);<BR>&nbsp;&nbsp; background-repeat: repeat;<BR>&nbsp;color : WhiteSmoke;<BR>&nbsp;border-top : 4px solid Black;<BR>&nbsp;border-bottom : 4px solid Black;<BR>&nbsp;padding: 0px;<BR>&nbsp;margin: 0px;<BR>}</P>
<P>通过察看自己CSDNBLOG源代码发觉#top应用的位置如下：</P>
<P>&lt;div id="top"&gt;<BR>&nbsp;<BR>&lt;div&gt;<BR>&nbsp;&lt;table&gt;<BR>&nbsp;&nbsp;&lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;td class="HeaderTitles"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;&lt;a id="Header1_HeaderTitle" class="headermaintitle" HREF="/hbzxf/"&gt;阿好空间(HBZXF)&lt;/a&gt;&lt;/h1&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;p id="tagline"&gt;人生不止一次需要反反复复的回忆，也许这才是人生的哲理&lt;/p&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/td&gt;<BR>&nbsp;&nbsp;&lt;/tr&gt;<BR>&nbsp;&lt;/table&gt;<BR>&lt;/div&gt;</P>
<P><BR>重新定义后的样式如下：（我们现在要修改背景图片）</P>
<P>#top <BR>{<BR>&nbsp;background-image: url(images/BlueTabBackground.gif);//改变背景图片url为自己图片的位置<BR>&nbsp;&nbsp; background-repeat: repeat;<BR>&nbsp;color : WhiteSmoke;<BR>&nbsp;border-top : 4px solid Black;<BR>&nbsp;border-bottom : 4px solid Black;<BR>&nbsp;padding: 0px;<BR>&nbsp;margin: 0px;<BR>}</P>
<P>5、把定义后的样式粘贴到'选项'-'配置'-'定制css选择器'</P>
<P>6、保存更改后的配置，重新察看自己CSDNBLOG的页面，是不是变成了自己定义好的图片</P>
<P>7、按照以上方法逐个修改，就会产生一个与众不同、个性化的CSDNBLOG</P></DIV><BR><BR><BR></H5><img src ="http://www.cnblogs.com/hbzxf/aggbug/19147.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Oracle一些日期计算的函数</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19126.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 28 Jun 2004 01:55:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19126.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/19126.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/28/19126.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/19126.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/19126.html</trackback:ping><description><![CDATA[在oracle中有很多关于日期的函数，如： <BR>1、add_months()用于从一个日期值增加或减少一些月份 <BR>date_value:=add_months(date_value,number_of_months) <BR>例： <BR>SQL&gt; select add_months(sysdate,12) "Next Year" from dual; <BR>&nbsp;&nbsp;<BR>Next Year <BR>---------- <BR>13-11月-04 <BR>&nbsp;&nbsp;<BR>SQL&gt; select add_months(sysdate,112) "Last Year" from dual; <BR>&nbsp;&nbsp;<BR>Last Year <BR>---------- <BR>13-3月 -13 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>2、current_date()返回当前会放时区中的当前日期 <BR>date_value:=current_date <BR>SQL&gt; column sessiontimezone for a15 <BR>SQL&gt; select sessiontimezone,current_date from dual; <BR>&nbsp;&nbsp;<BR>SESSIONTIMEZONE CURRENT_DA <BR>--------------- ---------- <BR>+08:00&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 13-11月-03 <BR>&nbsp;&nbsp;<BR>SQL&gt; alter session set time_zone='-11:00' <BR>&nbsp; &nbsp;2&nbsp;&nbsp;/ <BR>&nbsp;&nbsp;<BR>会话已更改。 <BR>&nbsp;&nbsp;<BR>SQL&gt; select sessiontimezone,current_timestamp from dual; <BR>&nbsp;&nbsp;<BR>SESSIONTIMEZONE CURRENT_TIMESTAMP <BR>--------------- ------------------------------------ <BR>-11:00&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 12-11月-03 04.59.13.668000 下午 -11: <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;00 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>3、current_timestamp()以timestamp with time zone数据类型返回当前会放时区中的当前日期 <BR>timestamp_with_time_zone_value:=current_timestamp([timestamp_precision]) <BR>SQL&gt; column sessiontimezone for a15 <BR>SQL&gt; column current_timestamp format a36 <BR>SQL&gt; select sessiontimezone,current_timestamp from dual; <BR>&nbsp;&nbsp;<BR>SESSIONTIMEZONE CURRENT_TIMESTAMP <BR>--------------- ------------------------------------ <BR>+08:00&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 13-11月-03 11.56.28.160000 上午 +08: <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;00 <BR>&nbsp;&nbsp;<BR>SQL&gt; alter session set time_zone='-11:00' <BR>&nbsp; &nbsp;2&nbsp;&nbsp;/ <BR>&nbsp;&nbsp;<BR>会话已更改。 <BR>&nbsp;&nbsp;<BR>SQL&gt; select sessiontimezone,current_timestamp from dual; <BR>&nbsp;&nbsp;<BR>SESSIONTIMEZONE CURRENT_TIMESTAMP <BR>--------------- ------------------------------------ <BR>-11:00&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 12-11月-03 04.58.00.243000 下午 -11: <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;00 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>4、dbtimezone()返回时区 <BR>varchar_value:=dbtimezone <BR>SQL&gt; select dbtimezone from dual; <BR>&nbsp;&nbsp;<BR>DBTIME <BR>------ <BR>-07:00 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>5、extract()找出日期或间隔值的字段值 <BR>date_value:=extract(date_field from [datetime_value|interval_value]) <BR>SQL&gt; select extract(month from sysdate) "This Month" from dual; <BR>&nbsp;&nbsp;<BR>This Month <BR>---------- <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;11 <BR>&nbsp;&nbsp;<BR>SQL&gt; select extract(year from add_months(sysdate,36)) "3 Years Out" from dual; <BR>&nbsp;&nbsp;<BR>3 Years Out <BR>----------- <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;2006 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>6、last_day()返回包含了日期参数的月份的最后一天的日期 <BR>date_value:=last_day(date_value) <BR>SQL&gt; select last_day(date'2000-02-01') "Leap Yr?" from dual; <BR>&nbsp;&nbsp;<BR>Leap Yr? <BR>---------- <BR>29-2月 -00 <BR>&nbsp;&nbsp;<BR>SQL&gt; select last_day(sysdate) "Last day of this month" from dual; <BR>&nbsp;&nbsp;<BR>Last day o <BR>---------- <BR>30-11月-03 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>7、localtimestamp()返回会话中的日期和时间 <BR>timestamp_value:=localtimestamp <BR>SQL&gt; column localtimestamp format a28 <BR>SQL&gt; select localtimestamp from dual; <BR>&nbsp;&nbsp;<BR>LOCALTIMESTAMP <BR>---------------------------- <BR>13-11月-03 12.09.15.433000 <BR>下午 <BR>&nbsp;&nbsp;<BR>SQL&gt; select localtimestamp,current_timestamp from dual; <BR>&nbsp;&nbsp;<BR>LOCALTIMESTAMP&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;CURRENT_TIMESTAMP <BR>---------------------------- ------------------------------------ <BR>13-11月-03 12.09.31.006000&nbsp; &nbsp;13-11月-03 12.09.31.006000 下午 +08: <BR>下午&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 00 <BR>&nbsp;&nbsp;<BR>SQL&gt; alter session set time_zone='-11:00'; <BR>&nbsp;&nbsp;<BR>会话已更改。 <BR>&nbsp;&nbsp;<BR>SQL&gt; select localtimestamp,to_char(sysdate,'DD-MM-YYYY HH:MI:SS AM') "SYSDATE" from dual; <BR>&nbsp;&nbsp;<BR>LOCALTIMESTAMP&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;SYSDATE <BR>---------------------------- ------------------------ <BR>12-11月-03 05.11.31.259000&nbsp; &nbsp;13-11-2003 12:11:31 下午 <BR>下午 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>8、months_between()判断两个日期之间的月份数量 <BR>number_value:=months_between(date_value,date_value) <BR>SQL&gt; select months_between(sysdate,date'1971-05-18') from dual; <BR>&nbsp;&nbsp;<BR>MONTHS_BETWEEN(SYSDATE,DATE'1971-05-18') <BR>---------------------------------------- <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 389.855143 <BR>&nbsp;&nbsp;<BR>SQL&gt; select months_between(sysdate,date'2001-01-01') from dual; <BR>&nbsp;&nbsp;<BR>MONTHS_BETWEEN(SYSDATE,DATE'2001-01-01') <BR>---------------------------------------- <BR>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 34.4035409 <BR>&nbsp;&nbsp;<BR>SQL&gt;&nbsp;&nbsp;<BR>&nbsp;&nbsp;<BR>9、next_day()给定一个日期值，返回由第二个参数指出的日子第一次出现在的日期值（应返回相应日子的名称字符串）<BR><img src ="http://www.cnblogs.com/hbzxf/aggbug/19126.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>ASP.NET WEB FORMS 页面间的传值方法 hbzxf(阿好)</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/26/18752.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Sat, 26 Jun 2004 01:19:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/26/18752.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/18752.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/26/18752.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/18752.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/18752.html</trackback:ping><description><![CDATA[<div class=postText>
<p align=center><strong>ASP.NET WEB FORMS 页面间的传值方法</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASP.NET WEB FORMS&nbsp; 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题，举个例子，在传统的ASP应用程序中，你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面，用同样的方法在ASP.NET中实现有点麻烦。在这里，我们可以通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式，一种是可以通过用QueryString来传送相应的值，再一种是通过session变量来传送相应的值，还有就是通过Server.Transfer方法来实现。下面分别一一介绍：</p>
<p><br><strong>一、使用Querystring</strong><br>Querystring是一种非常简单的传值方式，其缺点就是会把要传送的值显示在浏览器的地址栏中，并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时，用此方法最好不过了。下面通过一个小例子来完成传值工作，步骤如下：<br>1、创建一个web form<br>2、在新建的web form中放置一个button1，在放置两个TextBox1,TextBox2 <br>3、为button按钮创建click事件<br>代码如下：<br>private void Button1_Click<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;string url;<br>&nbsp;url="webform2.aspx?name=" + <br>&nbsp;&nbsp;TextBox1.Text + "&amp;email=" + <br>&nbsp;&nbsp;TextBox2.Text;<br>&nbsp;Response.Redirect(url);<br>}<br>4、新建一个目标页面命名为webform2<br>5、在webform2中放置两个Label1,Label2<br>在webform2的Page_Load中添加如下代码：<br>private void Page_Load<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;Label1.Text=Request.QueryString["name"];<br>&nbsp;Label2.Text=Request.QueryString["email"];<br>}<br>运行,即可看到传递后的结果了。</p>
<p><strong>二、使用Session变量</strong></p>
<p>使用Session变量传值是一种最常见的方式了，此中方式不仅可以把值传递到下一个页面，还可以交叉传递到多个页面，直至把Session变量的值removed后，变量才会消失。举个例子看看：<br>1、创建一个web form<br>2、在新建的web form中放置一个button1，在放置两个TextBox1,TextBox2 <br>3、为button按钮创建click事件<br>代码如下：<br>private void Button1_Click<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session["name"]=TextBox1.Text;<br>&nbsp;Session["email"]=TextBox2.Text;<br>&nbsp;Response.Redirect("webform2.aspx");<br>}<br>4、新建一个目标页面命名为webform2<br>5、在webform2中放置两个Label1,Label2<br>在webform2的Page_Load中添加如下代码：<br>private void Page_Load<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;Label1.Text=Session["name"].ToString();<br>&nbsp;Label2.Text=Session["email"].ToString();<br>&nbsp;Session.Remove("name");<br>&nbsp;Session.Remove("email");<br>}<br>运行,即可看到传递后的结果了。</p>
<p><strong>三、使用Server.Transfer</strong><br>虽然这种方法有点复杂，但也不失为一种在页面传值的方式。<br>举个例子看看：<br>1、创建一个web form<br>2、在新建的web form中放置一个button1，在放置两个TextBox1,TextBox2 <br>3、为button按钮创建click事件<br>代码如下：<br>private void Button1_Click<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;Server.Transfer("webform2.aspx");<br>}<br>4、创建过程来返回TextBox1,TextBox2控件的值代码如下：<br>public string Name<br>{<br>&nbsp;get<br>&nbsp;{<br>&nbsp;&nbsp;return TextBox1.Text;<br>&nbsp;}<br>}</p>
<p>public string EMail<br>{<br>&nbsp;get<br>&nbsp;{<br>&nbsp;&nbsp;return TextBox2.Text;<br>&nbsp;}<br>}<br>5、新建一个目标页面命名为webform2<br>6、在webform2中放置两个Label1,Label2<br>在webform2的Page_Load中添加如下代码：<br>private void Page_Load<br>(object sender, System.EventArgs e)<br>{<br>&nbsp;//创建原始窗体的实例<br>&nbsp;WebForm1 wf1;<br>&nbsp;//获得实例化的句柄<br>&nbsp;wf1=(WebForm1)Context.Handler;<br>&nbsp;Label1.Text=wf1.Name;<br>&nbsp;Label2.Text=wf1.EMail;</p>
<p>}<br>运行,即可看到传递后的结果了。</p>
</div>
<img src ="http://www.cnblogs.com/hbzxf/aggbug/18752.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>防止项目延迟的18条军规    ejason（原作）</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/25/18523.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Fri, 25 Jun 2004 02:01:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/25/18523.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/18523.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/25/18523.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/18523.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/18523.html</trackback:ping><description><![CDATA[<BR>1 详尽的需求分析<BR>2 当面临项目开始时的问题时，您需要正视并处理这些困难和有争议的问题而不应该&nbsp; 逃避 <BR>3 选择正确的技术<BR>正确的技术能够使您有最大的机会在现有的人力条件下以最短时间按质量要求完成工作，选择一个抢眼的新技术并没有什么好处，尤其当您不能保证它是否有好处或者找<BR>不到正确应用新技术的人的时候。<BR>4 设计一个产品的结构，这个结构要有很好的模块化特性，并且简单易懂。要花时间<BR>在设计功能模块和界面上，并且对这些模块和界面进行封装和组织<BR>5 一旦您知道了您将需要做些什么，您就可以着手准备项目计划。<BR>6 回顾和项目相关的标书，合同和其他高层文件。<BR>&nbsp; 如果您的计划表明合同得不到执行，那么为了避免以后的严重问题就必须进行重新&nbsp;&nbsp; 谈判<BR>7 检查设计和代码<BR>8 确定优先次序<BR>&nbsp; a.)确保首先将精力放在最紧急的事情，其次是最重要的事情，如果还有余下的时间再去做不太重要的事情。重要的是从客户角度考察事情的优先次序。<BR>&nbsp; b.) 确保问题得到充分的解决。<BR>9 处理需求的变化<BR>&nbsp; 不管变化如何小，您都要进行必要的处理，将这种变化的结果反馈给客户或者市场<BR>部门。项目发生延迟更确切的说是人们常常认为项目会发生延迟，不要期望在没有更多时间和资源的情况下做更多的事情。<BR>10 让人们努力并机智地工作是问题的关键。<BR>&nbsp;&nbsp; 用时间和功能命名交付的产品要比仅仅使用数字命名更好。<BR>&nbsp;&nbsp; 您应该相信团对成员，相信他们明白需要做什么，并且会全力以赴做好它。<BR>11 减少风险<BR>&nbsp;&nbsp; a.)不要仅仅为了使用新的技术语言或者方法而使用它们。<BR>&nbsp;&nbsp; b.)尽量避免不同的语言或技术混用。<BR>&nbsp;&nbsp; C.)减少对其他项目和组织的依赖性<BR>&nbsp;&nbsp; d.)在项目计划中要包含充分的权变措施。<BR>&nbsp;项目延迟常常是由于一些主要的风险因素，例如新技术的失败或供应方延迟提交产品。<BR>12 不做无用功。如果可以COPY一些有用的功能就不必重写。<BR>13 采用稳固的编程方式<BR>&nbsp;&nbsp; a.)在开发工具中应用最高级的警告功能。<BR>&nbsp;&nbsp; b.)应用错误检查工具来发现内存泄露，通用代码错误和其他潜在缺陷。<BR>&nbsp;&nbsp; c.)养成在写完程序之后立即测试的习惯。<BR>&nbsp;&nbsp; d.)记下测试出的程序错误并编写报告。<BR>&nbsp;&nbsp; e.)使用可靠的结构和算法。<BR>14 减少&#8220;设计-编程-测试&#8220;循环的时间长度。<BR>15 在测试方面不惜时间.<BR>16 定期进行产品发布。<BR>&nbsp;&nbsp; 您得到的反馈越多您的客户最后拒绝您的产品的可能性就越小。<BR>17 为了防止您的项目延迟，您必须承担领导的责任，进行切实的领导。<BR>&nbsp;&nbsp; a.)担负起责任，不责备他人，不找借口，勇于承认错误并改进。<BR>&nbsp;&nbsp; b.)不要任由他人责备，也不要寻找不具说话力的借口。<BR>&nbsp;&nbsp; c.)为了整个项目团队能顺利工作，您必须做一些领导应该做的事情，即使这些事情并不让人惬意。<BR>&nbsp;&nbsp; d.)如果您知道问题所在就立刻着手解决这些问题而不要无视问题的存在。<BR>&nbsp;&nbsp; e.)要做全局把握整个项目的人<BR>&nbsp;&nbsp; <BR>18 为了节省时间一定要舍得花时间。<BR>&nbsp;&nbsp; 如果您有方法能够为整个项目节省时间，那么就采用这种方法,尽管它可能会使工作暂时落后于预定计划。<BR><img src ="http://www.cnblogs.com/hbzxf/aggbug/18523.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>如何解决页面之间传输中文乱码的问题 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18296.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Thu, 24 Jun 2004 05:20:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18296.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/18296.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18296.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/18296.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/18296.html</trackback:ping><description><![CDATA[<P align=center><FONT size=5><STRONG>如何解决页面之间传输中文乱码的问题</STRONG></FONT></P>
<P align=center><STRONG>hbzxf（阿好）<BR></STRONG><A href="http://www.cnblogs.com/hbzxf"><STRONG><FONT color=#000080>http://www.cnblogs.com/hbzxf</FONT></STRONG></A></P>
<P align=left>　　有的时候我们需要在页面之间传输中文，但是.NET模认在Webconfig中为我们建立的编码格式为utf-8，于是在传输中文的时候变成了乱码，相应的接受也会是乱码信息，如何解决这个问题，我们可以用两种方法。</P>
<P align=left>　　更改Webconfig中的编码方式，如下：</P>
<P align=left><FONT color=#800080><STRONG>1.在你的web.config中把编码</STRONG></FONT></P>
<P align=left><FONT color=#800080><STRONG>&nbsp;&nbsp;&nbsp; &lt;globalization <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestEncoding="utf-8" <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; responseEncoding="utf-8" <BR>&nbsp;&nbsp; /&gt;<BR>改为</STRONG></FONT></P>
<P align=left><FONT color=#800080><STRONG>&nbsp;&nbsp;&nbsp; &lt;globalization <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requestEncoding="gb2312" <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; responseEncoding="gb2312" <BR>&nbsp;&nbsp; /&gt;</STRONG></FONT></P><FONT color=#800080><STRONG></STRONG>
<P align=left><BR></FONT><FONT color=#800080><STRONG>第二种方法：</STRONG></FONT></P>
<P align=left><FONT color=#800080><STRONG>首先在传递之前先编码:举例如下：<BR></STRONG></FONT><FONT color=#800080><STRONG>string xm=Server.URLEncode("张三");<BR>Response.Redirect("b.aspx?xm="+xm);<BR><BR>然后在接收页解码:<BR>string xm = Server.URLDecode(Requext.querystring("xm"));<BR><BR></STRONG></FONT><FONT color=#000000>还有一个要说的是，在我们制作邮件系统时，会有一个接收base64的问题，经常会产生乱码，我是这样解决的，不妨试试。代码如下：</FONT></P>
<P align=left><STRONG>string encodedMail="邮件内容";<BR>byte[] barr=Convert.FromBase64String(encodedMail);<BR>string decodedMail=System.Text.Encoding.GetEncoding("gb2312").GetString(barr);</STRONG></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/18296.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>在DataGrid中选择,确认,删除多行复选框列表 </title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18294.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Thu, 24 Jun 2004 05:18:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18294.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/18294.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/24/18294.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/18294.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/18294.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=0 cellPadding=6 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top colSpan=2>
<P align=center><FONT color=#0000ff><FONT size=5>在DataGrid中选择,确认,删除多行复选框列表</FONT> <BR><BR></FONT< TD></FONT></P></TD></TR></TBODY></TABLE>
<TABLE id=ArticleTable cellSpacing=0 cellPadding=6 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top><SPAN id=_ctl2_ArticleText>
<P class=sh>Selecting, Confirming &amp; Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail &amp; Yahoo)</P>
<P><STRONG>Introduction</STRONG></P>
<P>Although I don't have either a Hotmail or Yahoo email account, I do have friends that do, and I have often seen them check their e-mail and noticed how it was all neatly displayed in a table. Right next to each item in their e-mail table was a simple little checkbox. At the bottom or top of this table you would have another checkbox giving them the ability to select all of the e-mail, and a button to submit back. Once this was done they would receive a nice popup alert to confirm what's about to happen, and then once this is OK' ed, boom, all the selected items are deleted.</P>
<P>.NET, of course, has the DataGrid, their finest and most popular control to date, and it should be pretty easy to get the same functionality, right? Well, not quite. Doing this with .NET is not that straightforward and functional as I would've liked it to be. Sure it's quite easy to add an edit / update button or link to each row and even a delete button to each, alongside a pop up alert as well! However, applying this delete feature to each and every button and deleting them one by one is a little maddening. Nor is the DataGrid set up in allowing a way of adding a main "select all" checkbox to easily select all of the boxes, and then applying any particular action.</P>
<P>In this article, we will examine how to create a fully functional DataGrid with all the features you'd find set up on Hotmail or Yahoo. As an added bonus we'll be performing all of our data tasks strictly utilizing Microsoft's new <STRONG><A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daab-rm.asp" target=_blank><FONT color=#000080>Data Access Application Block or DAAB v2.</FONT></A> </STRONG>To any who may feel a little behind with DAAB, have no fear, everything here can still be accomplished with pre-DAAB data objects as the only difference here is the data access part of it. Trust me there is a huge difference between the two, for one DAAB enable you to write about 75% less code that you would normally need when compared with regular ADO.NET!</P>
<P>So, before we begin, download the DAAB dll from the above link, install it, and copy it into you application&#8217;s bin folder and you're ready to go. Also, be sure and take a peek at the DAAB documentation that came with your installation for an overview and any questions you may have.</P>
<P>Ok, let's get to it then.</P>
<P>&nbsp;</P>
<P><STRONG>Our fully-featured DataGrid</STRONG></P>
<P>Selecting &amp; deleting multiple items will definitely be set up quite differently than any other type of .NET DataGrid deleting you probably have seen. However, we'll still follow the same logical flow of deletion, and we'll still confirm any delete actions about to take place after we have selected all our items. Much of the magic in making this work is really going to come from client-side JavaScript, that is ultimately responsible for wiring up our main "select all" checkbox to handle the selecting and deselecting of our checkboxes. Also, included is our server-side delete method that erases our data, and a DataGrid refresher method to rebind our DataGrid after we have completed our data deletion.</P>
<P>Have a look at <STRONG>Figure 1</STRONG> to get an idea of what your DataGrid will look like:</P>
<P><IMG height=240 src="http://blog.csdn.net/Develop/ArticleImages/26/26613/CSDN_Dev_Image_2004-4-91020101.jpg" width=608></P>
<P><STRONG>Figure 1</STRONG></P>
<P>Here is the code to set up our DataGrid:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD><FORM runat="server">
<P>
<H3>Selecting, Confirming &amp; Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail &amp; Yahoo)</H3><BR><BR>
<P></P>
<BLOCKQUOTE>
<P><?XML:NAMESPACE PREFIX = ASP /><ASP:DataGrid id=MyDataGrid runat="server" <br></ASP:DataGrid>Width="700"<BR>BackColor="white" <BR>BorderColor="black"<BR>CellPadding=3 <BR>CellSpacing="0"<BR>Font-Size="9pt"<BR>AutoGenerateColumns="False"<BR>HeaderStyle-BackColor="darkred"<BR>HeaderStyle-ForeColor="white"<BR>&gt;</P>
<P><COLUMNS></P>
<BLOCKQUOTE>
<P><asp:TemplateColumn></P>
<BLOCKQUOTE>
<P><HEADERTEMPLATE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:CheckBox id=CheckAll <strong>OnClick="javascript: return select_deselectAll (this.checked, this.id);"</STRONG> runat="server"/&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=Webdings color=white size=4>a</FONT><BR></HEADERTEMPLATE><BR><BR><ITEMTEMPLATE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:CheckBox id=DeleteThis <strong>OnClick="javascript: return select_deselectAll (this.checked, this.id);"</STRONG> runat="server"/&gt;<BR></ITEMTEMPLATE></P></BLOCKQUOTE>
<P></asp:TemplateColumn></P>
<P>// ... Rest of our Custom Template &amp; Bound Columns</P></BLOCKQUOTE>
<P></COLUMNS></P></BLOCKQUOTE>
<P></P></TD></TR></TBODY></TABLE>
<P>The code listed above is what makes our DataGrid set up behave just like the grids on Hotmail and Yahoo. Our .NET DataGrid will have the same functionality and options available for selecting however many items, or perhaps all, that you'd like to delete, and once you do and submit, kiss them goodbye.</P>
<P>&nbsp;</P>
<P><STRONG>DataGrid Setup</STRONG></P>
<P>The first step towards creating this functionality is to begin by adding a new DataGrid column (either before or after our main data, it doesn't matter) that'll contain our individual checkboxes, but also include our main top "select all" checkbox (if and when we need to select and deselect all the checkboxes below it). To do this we first make sure our DataGrid's AutoGenerateColumns property is set to false, since we're going to create the necessary custom Header and Item Templates, alongside our necessary BoundColumns, within our DataGrid Columns section (that can be customized and could contain whatever you need them to).</P>
<P>The only important thing to notice here, regarding our objective, is our first TemplateColumn that contains our checkboxes. The main focal point with this whole application rests solely on this first Template Column and its two Sub Templates: HeaderTemplate and ItemTemplate. Each contain the necessary checkboxes, both are wired to onClick events that executes <STRONG>select_deselectAll</STRONG> (our super-slick client-side JavaScript method) when either checkbox is checked, and in turn are fully responsible for giving us all the great functionality I've spoken of. Incidentally, the WebDings font's lowercase letter "a" give us our check symbol.</P>
<P>&nbsp;</P>
<P><STRONG>Selecting and De-Selecting our Checkboxes</STRONG></P>
<P>Now that both checkboxes are wired to our multi-faceted JavaScript method, how is that one function going to determine the checkbox its dealing with, and the action it needs to carry out? Ah, here's how :-)</P>
<P>Our function select_deselectAll, listed below, accepts two arguments: the Checkbox's checked value, and its ID. Once this function is called, and its two arguments have been passed in, it'll begin looping through our form. Next, it begins performing some conditional checking utilizing JavaScript's indexOf method to locate the appropriate checkbox, and is based on both the values passed in, which it turn ultimately will give us one of several causes and effects:</P>
<OL>
<LI>If the main "select all" checkbox is checked, it will select all of the DataGrid checkboxes 
<LI>If the main "select all" checkbox is unchecked, then all of the DataGrid checkboxes get unselected 
<LI>Finally, if after the main "select all" checkbox is selected and all of the DataGrid's checkboxes are all checked, any one of those checkboxes gets unchecked, then the main checkbox is also unchecked. This way we don't end up having our checkbox's logic behaving inconsistently or erratically.<BR></LI></OL>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>function select_deselectAll (chkVal, idVal) { 
<BLOCKQUOTE>
<P>var frm = document.forms[0];</P>
<P><FONT color=#009900>// Loop through all elements</FONT><BR>for (i=0; i<FRM.LENGTH; P {< i++)> 
<BLOCKQUOTE>
<P><FONT color=#009900>// Look for our Header Template's Checkbox</FONT><BR>if (idVal.indexOf ('CheckAll') != -1) {</P>
<P><FONT color=#009900>// Check if main checkbox is checked, then select or deselect datagrid checkboxes</FONT> <BR>if(chkVal == true) {</P>
<BLOCKQUOTE>
<P>frm.elements[i].checked = true;</P></BLOCKQUOTE>
<P>} else {</P>
<BLOCKQUOTE>
<P>frm.elements[i].checked = false;</P></BLOCKQUOTE>
<P>}<BR><BR><FONT color=#009900>// Work here with the Item Template's multiple checkboxes</FONT><BR>} else if (idVal.indexOf ('DeleteThis') != -1) {</P>
<BLOCKQUOTE>
<P><FONT color=#009900>// Check if any of the checkboxes are not checked, and then uncheck top select all checkbox</FONT><BR>if(frm.elements[i].checked == false) {</P>
<BLOCKQUOTE>
<P>frm.elements[1].checked = false; <FONT color=#009900>//Uncheck main select all checkbox</FONT></P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P><BR>}</P></TD></TR></TBODY></TABLE>
<P>&nbsp;</P>
<P><STRONG>Figure 2</STRONG> shows you the effect of the JavaScript above interacting with the DataGrid when selecting the top main "select all" checkbox.</P>
<P><IMG height=246 src="http://blog.csdn.net/Develop/ArticleImages/26/26613/CSDN_Dev_Image_2004-4-91020103.jpg" width=613></P>
<P><STRONG>Figure 2</STRONG></P>
<P>Now, aside from this function allowing a quick full selection, you also have the option of manually selecting as many checkbox items as you wish. Next comes the tricky part in how to determine which ones were selected, and how to confirm this the instant you submit the form, and prior to actual deletion.</P>
<P>&nbsp;</P>
<P><STRONG>Confirming Multiple Deletes</STRONG></P>
<P>In this section, we'll examine how to confirm multiple deletes when we submit our form. Below in <STRONG>Figure 3</STRONG> you can now see the alert confirmation after selecting a couple of items, and then submitting the form by press the "Delete Items" button. The alert takes place at any time you submit the form (as long as you have more than one checkbox selected).</P>
<P>&nbsp;</P>
<P><IMG height=245 src="http://blog.csdn.net/Develop/ArticleImages/26/26613/CSDN_Dev_Image_2004-4-91020105.jpg" width=610></P>
<P><STRONG>Figure 3</STRONG></P>
<P>Note that this confirmation will alert with all checkboxes selected or a just a few as shown. Pressing the Delete Items button with none selected will not prompt any alert. Here now is how we determine what checkboxes are actually checked.</P>
<P>The first thing we did was set up our Delete Button at the end of our DataGrid; just a regular asp server button. We also wired a server-side event to it - Delete Store - that, when confirmed, will delete the records:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD><asp:Button id=Confirm onclick=DeleteStore runat="server" Text="Delete Items"></asp:Button></TD></TR></TBODY></TABLE>
<P>But how does that pop-up alert confirmation appear? Well, that's the cool thing. We get this by adding the code listed below to our Button server control as soon as the page loads, in our Page_Load method, by locating it using the FindControl method and then adding to the button attributes, like so:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>WebControl button = (WebControl) Page.FindControl("Confirm");<BR>button.Attributes.Add ("onclick", "return confirmDelete (this.form);"); </TD></TR></TBODY></TABLE>
<P>So, the second the page loads, it attached the Javascript handler to this button, and if you examine the HTML source code, the button afterwords, actually looks like this:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD><INPUT id=Confirm onclick="return confirmDelete (this.form);" type=submit value="Delete Items" name=Confirm></TD></TR></TBODY></TABLE>
<P>Cool huh? Now, the second this button is pressed, is when it can now trigger the client side JavaScript function below:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>function confirmDelete (frm) { 
<BLOCKQUOTE>
<P><FONT color=#009900>// loop through all elements</FONT><BR>for (i=0; i<FRM.LENGTH; P {< i++)> 
<BLOCKQUOTE>
<P><FONT color=#009900>// Look for our checkboxes only</FONT><BR>if (frm.elements[i].name.indexOf('DeleteThis') !=-1) {</P>
<BLOCKQUOTE>
<P><FONT color=#009900>// If any are checked then confirm alert, otherwise nothing happens</FONT><BR>if(frm.elements[i].checked) {</P>
<BLOCKQUOTE>
<P>return confirm ('Are you sure you want to delete your selection(s)?')</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></TD></TR></TBODY></TABLE>
<P>Ok, what happening here? Well, the JS function above is, for all intents and purposes, not that different from the previous JavaScript function - "select_deselectAll." Except, instead of determining if the main "select all" checkbox is checked, it actually checks to see whether if any of the DataGrid row checkboxes are checked. If so, it'll then, and only then, alert you with a confirmation to proceed onto either to delete or cancel.</P>
<P>&nbsp;</P>
<P><STRONG>Deleting Data</STRONG></P>
<P>Now recall our asp:button above, and its default JavaScript onclick event handler attached on Page_Load. Aside from this we also notice it has another OnClick event (this one being server based) that gets raised when the button is clicked, rather pressed, that'll allow it to fire the server-side DeleteStore method to delete our data:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>
<P>public void DeleteStore (Object sender, EventArgs e) {</P>
<BLOCKQUOTE>
<P>string dgIDs = "";<BR>bool BxsChkd = false; </P>
<P>foreach (DataGridItem i in MyDataGrid.Items) {</P>
<BLOCKQUOTE>
<P>CheckBox deleteChkBxItem = (CheckBox) i.FindControl ("DeleteThis");</P>
<P>if (deleteChkBxItem.Checked) {</P>
<BLOCKQUOTE>
<P>BxsChkd = true;<BR><BR><FONT color=#009900>// Concatenate DataGrid item with comma for SQL Delete</FONT><BR>dgIDs += ((Label) i.FindControl ("StoreID")).Text.ToString() + ",";</P></BLOCKQUOTE>
<P>}</P>
<P>}</P></BLOCKQUOTE>
<P><FONT color=#009900>// Set up SQL Delete statement, using LastIndexOf to remove tail comma from string.</FONT><BR>string deleteSQL = "DELETE from Stores WHERE stor_id IN (" + dgIDs.Substring (0, dgIDs.LastIndexOf (",")) + ")";</P>
<P><BR>if (BxsChkd == true) { <FONT color=#009900>// Execute SQL Query only if checkboxes are checked, otherwise error occurs with initial null string</FONT></P>
<BLOCKQUOTE>
<P>try {</P>
<BLOCKQUOTE>
<P>SqlHelper.ExecuteNonQuery (objConnect, CommandType.Text, deleteSQL);<BR>OutputMsg.InnerHtml += "<FONT size=4><B>Store information has been deleted.</B></FONT>";<BR>OutputMsg.Style["color"] = "green";</P></BLOCKQUOTE>
<P>} catch (SqlException err) { </P>
<BLOCKQUOTE>
<P>OutputMsg.InnerHtml += err.Message.ToString(); //"<FONT size=4><B>An error occurred and the record could not be deleted</B></FONT>";<BR>OutputMsg.Style["color"] = "red";</P></BLOCKQUOTE>
<P>}</P>
<P>//Refresh data<BR>BindData();</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P></TD></TR></TBODY></TABLE>
<P>Since having wired the two client/server methods together, it's our JavaScript code that actually intercepts this button's call and goes first. If you confirm OK, then will the deleting server-side method execute, otherwise it'll cancel all events after that point and prevent anything from posting back.</P>
<P>Looking at the DeleteStore() method, you'll notice that it is actually does a few things. First, it set's up the string variable "dgIDs" that will hold all of our selected DataGrid IDs. Next, it loops through the DataGrid, and gathers all of the selected item ids that are based on the row's TemplateColumn ID, which is why I kept the ID control as a TemplateColumn and the rest BoundColumns as these types of controls do not support the ID property we need for referencing our data. After this, it will, upon verifying checked items, gather all the ids and assign them to our "dgIDs" variable, that'll be used with our SQL "deleteSQL" delete statement.</P>
<P>The "deleteSQL" delete statement uses the "WHERE IN" argument to perform the multiple deletes in one shot. Since we need to separate each id with a comma, you'll notice that in the loop I attach a comma after each collected item. This way we'll have all of our items clearly defined in our SQL. One problem however is that since we add on a comma after each collected item, the last one as well will include a tail-end comma and SQL won't like this. For example, once we loop through the DataGrid, gather up all of the selected items, and assign it to our delete string we could end up with something like this: </P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>DELETE from Stores WHERE stor_id IN (2,4,6,7,) </TD></TR></TBODY></TABLE>
<P>Notice the last comma; that's a no-no. To quickly and easily remedy this, we must remove the last comma, and we do this by pulling the substring we need from the "dgIDs" string using LastIndexOf (",") effectively removing the last comma, and properly formatting the delete statement for SQL, like so:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>DELETE from Stores WHERE stor_id IN (2,4,6,7) </TD></TR></TBODY></TABLE>
<P>Finally, DeleteStore proceeds to execute the query against the database. Incidentally, for those wondering why I have a conditional with BxsChkd? Well it's because if I don't initially select any items, I'm returned an error on Page_Load due to our SqlHelper having nothing initialized. Therefore, by do so, our DeleteStore method will remain silent, and happily waiting in the wings until it does get the actual go ahead.</P>
<P>So that's the crux of our DataGrid application, and technology behind doing multiple checkbox deletes a la Hotmail and Yahoo style. And on that note, here's all the code. Just have SQL Server ready, DAAB installed, then cut and paste the code below, and have fun.</P>
<P>Here's our main page code:<BR></P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>
<P><%@ Page Language="C#" Debug="False" Strict="True" Explicit="True" Inherits="MultiDeleteDG.WebForm" Src="mDatagrid.aspx.cs"%></P>
<P><BR></P>
<P>
<FORM runat="server"></P>
<P>
<H3>Selecting, Confirming &amp; Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail &amp; Yahoo)</H3><BR><BR>
<P></P>
<BLOCKQUOTE>
<P><ASP:DataGrid id=MyDataGrid runat="server" <br></ASP:DataGrid>Width="700"<BR>BackColor="white" <BR>BorderColor="black"<BR>CellPadding=3 <BR>CellSpacing="0"<BR>Font-Size="9pt"<BR>AutoGenerateColumns="False"<BR>HeaderStyle-BackColor="darkred"<BR>HeaderStyle-ForeColor="white"<BR>&gt;</P>
<BLOCKQUOTE>
<P><COLUMNS></P>
<BLOCKQUOTE>
<P><asp:TemplateColumn></P>
<BLOCKQUOTE>
<P><HEADERTEMPLATE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:CheckBox id=CheckAll <strong>OnClick="javascript: return select_deselectAll (this.checked, this.id);"</STRONG> runat="server"/&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=Webdings color=white size=4>a</FONT><BR></HEADERTEMPLATE><BR><BR><ITEMTEMPLATE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:CheckBox id=DeleteThis <strong>OnClick="javascript: return select_deselectAll (this.checked, this.id);"</STRONG> runat="server"/&gt;<BR></ITEMTEMPLATE></P></BLOCKQUOTE>
<P></asp:TemplateColumn></P>
<P><asp:TemplateColumn></P>
<BLOCKQUOTE>
<P><HEADERTEMPLATE>ID</HEADERTEMPLATE></P>
<P><ITEMTEMPLATE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:Label id=StoreID runat="server" Text='<%# DataBinder.Eval (Container.DataItem, "ID") %>'></asp:Label><BR></ITEMTEMPLATE></P></BLOCKQUOTE>
<P></asp:TemplateColumn></P>
<P><asp:BoundColumn runat="server" Datafield="Store" HeaderText="Store"></asp:BoundColumn></P>
<P><asp:BoundColumn runat="server" Datafield="Address" HeaderText="Address"></asp:BoundColumn></P>
<P><asp:BoundColumn runat="server" Datafield="City" HeaderText="City"></asp:BoundColumn></P>
<P><asp:BoundColumn runat="server" Datafield="State" HeaderText="State"></asp:BoundColumn></P>
<P><asp:BoundColumn runat="server" Datafield="Zip" HeaderText="Zip"></asp:BoundColumn></P></BLOCKQUOTE>
<P></COLUMNS></P></BLOCKQUOTE>
<P></P></BLOCKQUOTE>
<P><BR></P>
<P><asp:Button id=Confirm onclick=DeleteStore runat="server" Text="Delete Items"></asp:Button></P>
<P><SPAN id=OutputMsg runat="server" enableviewstate="false"></P>
<P></FORM></P>
<P></P></SPAN></TD></TR></TBODY></TABLE>
<P>And our MultiDeleteDG.WebForm code-behind file - mDatagrid.aspx.cs:</P>
<TABLE class=ct2 width="90%" border=0>
<TBODY>
<TR>
<TD>using System;<BR>using System.Data;<BR>using System.Data.SqlClient;<BR>using System.Web;<BR>using System.Web.UI;<BR>using System.Web.UI.WebControls;<BR>using System.Web.UI.HtmlControls; 
<P><FONT color=#009900>//Import DAAB dll namespace</FONT><BR>using Microsoft.ApplicationBlocks.Data;</P>
<P>namespace MultiDeleteDG<BR>{</P>
<P><FONT color=#009900>/// <SUMMARY><BR>/// Selecting, Confirming &amp; Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail &amp; Yahoo)<BR>/// Author: Dimitrios Markatos - dmarko1@aol.com<BR>/// Date: 8/2003<BR>/// </SUMMARY></FONT></P>
<BLOCKQUOTE>
<P><BR>public class WebForm : System.Web.UI.Page //Inherit Page Class<BR>{</P>
<BLOCKQUOTE>
<P><BR>protected System.Web.UI.WebControls.DataGrid MyDataGrid;<BR>protected System.Web.UI.HtmlControls.HtmlGenericControl OutputMsg; //Span Tag</P>
<P><BR>protected SqlConnection objConnect;</P>
<P><BR>public void Page_Load (Object Sender, EventArgs E) {</P>
<BLOCKQUOTE>
<P><FONT color=#009900>//Implement Client Side JavaScript code</FONT><BR>string jsScript = "
<SCRIPT language=JavaScript> \n" +<br />"<!--\n" +<br />"function confirmDelete (frm) {\n\n" +<br />" // loop through all elements\n" +<br />" for (i=0; i<frm.length; i++) {\n\n" +<br />" // Look for our checkboxes only\n" +<br />" if (frm.elements[i].name.indexOf ('DeleteThis') !=-1) {\n" +<br />" // If any are checked then confirm alert, otherwise nothing happens\n" +<br />" if(frm.elements[i].checked) {\n" +<br />" return confirm ('Are you sure you want to delete your selection(s)?')\n" +<br />" }\n" +<br />" }\n" +<br />" }\n" +<br />"}\n\n\n" +</p> <p>"function select_deselectAll (chkVal, idVal) {\n" +<br />"var frm = document.forms[0];\n" +<br />"// loop through all elements\n" +<br />" for (i=0; i<frm.length; i++) {\n" +<br />" // // Look for our Header Template's Checkbox\n" +<br />" if (idVal.indexOf ('CheckAll') != -1) {\n" +<br />" // Check if main checkbox is checked, then select or deselect datagrid checkboxes \n" +<br />" if(chkVal == true) {\n" +<br />" frm.elements[i].checked = true;\n" +<br />" } else {\n" +<br />" frm.elements[i].checked = false;\n" +<br />" }\n" +<br />" // Work here with the Item Template's multiple checkboxes\n" +<br />" } else if (idVal.indexOf('DeleteThis') != -1) {\n" +<br />" // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox\n" +<br />" if(frm.elements[i].checked == false) {\n" +<br />" frm.elements[1].checked = false; // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox\n" +<br />" }\n" +<br />" }\n" +<br />" }\n" +<br />"}" +<br />"//--> \n" +<br />"</SCRIPT>
 ";</P>
<P><BR><FONT color=#009900>//Allows our .NET page to add client-side script blocks when page loads, instead of the conventional HTML JS tags.<BR></FONT><STRONG>RegisterClientScriptBlock</STRONG> ("clientScript", jsScript);</P>
<P>WebControl button = (WebControl) Page.FindControl ("Confirm");<BR>button.Attributes.Add ("onclick", "return confirmDelete (this.form);"); <BR><BR>objConnect = new SqlConnection ("server=(local);database=pubs;uid=sa;pwd=;");</P>
<P>if (!IsPostBack) {</P>
<BLOCKQUOTE>
<P>BindData();</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P><BR>}</P>
<P><BR>public void DeleteStore (Object sender, EventArgs e) {</P>
<BLOCKQUOTE>
<P>string dgIDs = "";<BR>bool BxsChkd = false; </P>
<P>foreach (DataGridItem i in MyDataGrid.Items) {</P>
<BLOCKQUOTE>
<P>CheckBox deleteChkBxItem = (CheckBox) i.FindControl ("DeleteThis");</P>
<P>if (deleteChkBxItem.Checked) {</P>
<BLOCKQUOTE>
<P>BxsChkd = true;<BR><BR><FONT color=#009900>// Concatenate DataGrid item with comma for SQL Delete</FONT><BR>dgIDs += ((Label) i.FindControl ("StoreID")).Text.ToString() + ",";</P></BLOCKQUOTE>
<P>}</P>
<P>}</P></BLOCKQUOTE>
<P><FONT color=#009900>// Set up SQL Delete statement, using LastIndexOf to remove tail comma from string.</FONT><BR>string deleteSQL = "DELETE from Stores WHERE stor_id IN (" + dgIDs.Substring (0, dgIDs.LastIndexOf (",")) + ")";</P>
<P><BR>if (BxsChkd == true) { <FONT color=#009900>// Execute SQL Query only if checkboxes are checked, otherwise error occurs with initial null string</FONT></P>
<BLOCKQUOTE>
<P>try {</P>
<BLOCKQUOTE>
<P>SqlHelper.ExecuteNonQuery (objConnect, CommandType.Text, deleteSQL);<BR>OutputMsg.InnerHtml += "<FONT size=4><B>Store information has been deleted.</B></FONT>";<BR>OutputMsg.Style["color"] = "green";</P></BLOCKQUOTE>
<P>} catch (SqlException err) { </P>
<BLOCKQUOTE>
<P>OutputMsg.InnerHtml += err.Message.ToString(); //"<FONT size=4><B>An error occurred and the record could not be deleted</B></FONT>";<BR>OutputMsg.Style["color"] = "red";</P></BLOCKQUOTE>
<P>}</P>
<P>//Refresh data<BR>BindData();</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>}</P>
<P><BR>public void BindData() {</P>
<BLOCKQUOTE>
<P>String sqlQuery = "Select stor_id As Id, stor_name As Store, City, State, Zip from Stores";</P>
<P>MyDataGrid.DataSource = SqlHelper.ExecuteDataset(objConnect, CommandType.Text, sqlQuery);<BR>MyDataGrid.DataBind();</P>
<P>objConnect.Close();<BR>objConnect = null;</P></BLOCKQUOTE>
<P>}</P></BLOCKQUOTE>
<P>} //End Class</P></BLOCKQUOTE>
<P>}//End Namespace<BR></P></TD></TR></TBODY></TABLE>
<P>&nbsp;</P>
<P><STRONG>Conclusion</STRONG></P>
<P>Well, that's it. Pretty awesome, and there was sure a lot to grasp as this certainly was a fairly complex article; but look at what you can do with a DataGrid now? There's nothing preventing you from adding paging to it although you'll have to delete whatever you need per page before paging to the next, or you could also store all your selected values in View State or any of of state methods, then pull them from there at the end.</P>
<P>At any rate, .NET clearly demonstrates that its Framework and all included is simply the best once again. Period!</P>
<P>Until next time. Happy .NETing </P></SPAN></asp:CheckBox></asp:CheckBox></asp:CheckBox></asp:CheckBox></TD></TR></TBODY></TABLE><img src ="http://www.cnblogs.com/hbzxf/aggbug/18294.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>OleDb操作Oracle数据库如何参数化</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/22/17764.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Tue, 22 Jun 2004 03:50:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/22/17764.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/17764.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/22/17764.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/17764.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/17764.html</trackback:ping><description><![CDATA[<FONT size=1>这两天使用c#通过OleDb方式操作Oracle数据库来存储图片到blob字段中，对于参数化发生了一些问题，因为我们现在使用的数据库连接字符串为微软的，郁闷中</FONT><img src ="http://www.cnblogs.com/hbzxf/aggbug/17764.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>DataGrid应用样式文件定义动态样式</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/16/16108.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 16 Jun 2004 03:02:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/16/16108.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/16108.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/16/16108.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/16108.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/16108.html</trackback:ping><description><![CDATA[<P>&nbsp;&nbsp;&nbsp; 在ASP.NET开发过程中，DataGrid使用的频率是非常高的，对于DataGrid的样式来说大家普遍使用的是自定义不同的颜色来应用于DataGrid的Header, Footer, EditItem, SelectItem, Item, Page，然而如果在每个页面都要对上述样式逐个设置，工作效率可想而知了，估计一天也出不了几个页面，而且在VS.NET中一个最大的BUG就是当我们对已经定义好的DataGrid重新布置页面布局时，发觉其所有的事件会莫名其妙丢失。或许有时候我们只好使用VS.NET已经提供好的自动套用格式模板，但有时候我们必须，而且不由我们使用套用模板怎么办（比如客户的要求），下面我就讲解一下在DataGrid中应用样式文件来定义动态样式，这样就解决了当客户对一套颜色配套方案不满意时，可以花费几分钟的时间重新定义一套，是不是效率会提高很多。废话少说看看下面的css.css文件是怎么定义的</P>
<P>css.css文件内容：</P>
<P><FONT color=#851441>.dg_header<BR>{<BR>&nbsp;font-weight :bold ;<BR>&nbsp;color:#FFFFCC;<BR>&nbsp;background-color :#990000;<BR>border-width: 2px;<BR>&nbsp;&nbsp;&nbsp; border-color :#CC9966;<BR>&nbsp;&nbsp;&nbsp; border-style :solid;</FONT></P>
<P><FONT color=#851441>}<BR>.dg_alter<BR>{<BR>&nbsp;background-color :#FFE0C0;<BR>&nbsp;border-left-color:Green;<BR>border-width: 2px;<BR>&nbsp;&nbsp;&nbsp; border-color :#CC9966;<BR>&nbsp;&nbsp;&nbsp; border-style :solid;<BR>}<BR>.dg_item<BR>{<BR>&nbsp;color :#330099;<BR>&nbsp;background-color:White ;<BR>&nbsp;border-width:2px;<BR>&nbsp;&nbsp;&nbsp; border-color :#CC9966;<BR>&nbsp;&nbsp;&nbsp; border-style :solid;<BR>}<BR>.dg_page<BR>{<BR>&nbsp;border-width: 2px;<BR>&nbsp;&nbsp;&nbsp; border-color :#CC9966;<BR>&nbsp;&nbsp;&nbsp; border-style :solid;<BR>}<BR><BR></FONT><FONT color=#000000>接下来的工作就是要应用此样式文件到页面的DataGrid中了</FONT></P>
<P><FONT color=#000000>首先在页面&lt;HEAD&gt;&lt;/HEAD&gt;之间插入下面的语句</FONT></P>
<P><FONT color=#851441>&lt;link href="css.css" type="text/css" rel="stylesheet"&gt;<BR><BR></FONT><FONT color=#000000>然后选择页面上的DataGrid，改变需要应用样式属性值的CssClass</FONT></P>
<P><FONT color=#851441>例如：<BR>点击HeaderStyle属性左边的十字打开选项，给CssClass应用样式dg_header</FONT></P>
<P><FONT color=#000000>最后绑定DataGrid看看是不是样式已经应用上了，如果没有应用上有两种可能</FONT></P>
<P><FONT color=#000000>1、去掉系统自动套用样式</FONT></P>
<P><FONT color=#000000>2、察看css.css文件是否定义正确<BR></FONT></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/16108.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47951/" target="_blank">Debian无视GNU创始人警告 接受Mono</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>DataGrid在分页状态下删除纪录的问题 hbzxf（原作） </title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/14/15468.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 14 Jun 2004 02:54:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/14/15468.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/15468.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/14/15468.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/15468.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/15468.html</trackback:ping><description><![CDATA[<P align=center><STRONG><FONT size=5>在分页状态下删除纪录的问题</FONT></STRONG></P>
<P align=center><STRONG><FONT size=2>hbzxf (阿好)<BR></FONT></STRONG></P>
<P align=left><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在使用DataGrid分页的时候，正常情况下，绑定数据库列表纪录时会自动产生分页的效果，然而我发觉在删除纪录的时候总会发生"<EM>无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。</EM>"的异常，其实解决这个问题很简单，我们要做的就是在DataGrid1_DeleteCommand事件中判断CurrentPageIndex的值，并根据不同的结果来绑定DataGrid。</FONT></P>
<P align=left><FONT size=2>&nbsp;//检索数据库的函数<BR>&nbsp;&nbsp;public DataSet GetZcbd()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;DataSet ds=new DataSet();&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;string searchString="select id,yy,bj from zc";<BR>&nbsp;&nbsp;&nbsp;&nbsp;da=new OleDbDataAdapter(searchString,conn);<BR>&nbsp;&nbsp;&nbsp;&nbsp;da.Fill(ds,"yy");&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return ds;<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;catch<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return null;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;}<BR></FONT></P>
<P align=left><FONT size=2>&nbsp;//绑定DataGrid&nbsp;&nbsp;&nbsp;<BR>private void BindGrid()<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;DataSet ds = new DataSet();<BR>&nbsp;&nbsp;&nbsp;ds = us.GetZcbd();<BR>&nbsp;&nbsp;&nbsp;if (ds!=null)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;this.DataGrid1.DataSource = ds;<BR>&nbsp;&nbsp;&nbsp;&nbsp;this.DataGrid1.DataBind();<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;msg.Alert("加载数据错误！",Page);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR><BR>//删除数据库纪录函数<BR>&nbsp;&nbsp;public string DeleteZcbd(int bdID)<BR>&nbsp;&nbsp;{</FONT></P>
<P align=left><FONT size=2>&nbsp;&nbsp;&nbsp;int count = this.IfExiseZysx(bdID);//不必理会次句，默认count=1<BR>&nbsp;&nbsp;&nbsp;if (count &lt;= 0) return "false";<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;string sqlStr = "delete from zcwhere id="+bdID;<BR>&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand cmd = new OleDbCommand(sqlStr,conn);</FONT></P>
<P align=left><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;conn.Open();</FONT></P>
<P align=left><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd.ExecuteNonQuery();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return "true";<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return e.Message.ToString();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;finally<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR></FONT></P>
<P align=left><FONT size=2>//&nbsp;DataGrid1_DeleteCommand事件修改函数&nbsp;&nbsp;<BR>private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;int bdID = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());<BR>&nbsp;&nbsp;&nbsp;string isDel = us.DeleteZcbd(bdID);<BR>&nbsp;&nbsp;&nbsp;int CurrentPage = 0;<BR>&nbsp;&nbsp;&nbsp;if (isDel == "true")<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(this.DataGrid1.CurrentPageIndex == this.DataGrid1.PageCount -1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR></FONT><FONT size=2>&nbsp;&nbsp;&nbsp;if (this.DataGrid1.CurrentPageIndex == 0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount -1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (this.DataGrid1.Items.Count % this.DataGrid1.PageSize == 1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPage = 2;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurrentPage = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount - CurrentPage;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp; }</FONT><FONT size=2><BR>&nbsp;&nbsp;&nbsp;&nbsp;this.BindGrid();<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.Alert("删除数据错误！",Page);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;注释：msg为一个类似WinForm的messagebox对话框，不必理会。可以使用label.Text代替</FONT></P>
<P align=left><FONT size=2>代码很乱，敬请谅解!</FONT></P><img src ="http://www.cnblogs.com/hbzxf/aggbug/15468.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47950/" target="_blank">iPhone 3GS首发日创AT&T多项纪录</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>将一个ClassLibrary (dll) 发布为web service</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/12/15173.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Sat, 12 Jun 2004 03:37:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/12/15173.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/15173.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/12/15173.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/15173.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/15173.html</trackback:ping><description><![CDATA[WEB METHOD中读取配置文件反射生成<BR><BR>在某一WEB METHOD中，被调用返回一个STRING<BR>Assembly a = Assembly.LoadFile(@"E:\JasonBackUp\StorePictureIntoSql\MyDll\bin\Debug\MyDll.dll");<BR>Type t = a.GetType("MyDll.Class1");<BR>string b = "";<BR>b = t.GetField("Number").GetValue(b).ToString();<BR>return b;<BR><img src ="http://www.cnblogs.com/hbzxf/aggbug/15173.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47949/" target="_blank">Silverlight开发大赛奖金高达10000美元</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>如何在Exchange2000中使用XML hbzxf（原作） </title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/07/13913.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Mon, 07 Jun 2004 02:22:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/07/13913.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/13913.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/07/13913.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/13913.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/13913.html</trackback:ping><description><![CDATA[<P align=center>如何在Exchange2000中使用XML</P>
<P align=left>&nbsp;&nbsp;&nbsp; XML是在Exchange中存储数据格式的一种，一般应用在Exchange中的以下内容：</P>
<P align=left>Web Storage System 中条目的某些属性和Exchange模式定义，还经常应用在WebDAV</P>
<P align=left>请求中的返回信息、请求等。用户也使用Web Storage System存储XML文档、XSL文</P>
<P align=left>档、HTML文档。</P>
<P align=left>例如：Exchange2000中以XML格式存储联系人的属性信息如下：</P>
<P align=left>&lt;D:prop xmlns:D="DAV"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlns:C="urn:schemas:contacts"&gt;</P>
<P align=left>&lt;D:href&gt;http://server/exchange/zhang/Contacts/zhang.eml&lt;D:href&gt;</P>
<P align=left>&lt;C:fileas&gt;hbzxf&lt;/C:fileas&gt;</P>
<P align=left>&lt;C:email&gt;hbzxf@hotmail.com&lt;/C:email&gt;</P>
<P align=left>&lt;C:title&gt;super XML&lt;/C:title&gt;</P>
<P align=left>&lt;C:department&gt;Deve&lt;/C:department&gt;</P>
<P align=left>&lt;/D:prop&gt;</P>
<P align=left>为了学习XML的使用方法，现举个例子来说明，下面的例子阐明了如何针对直接的Exchange URL构造HTTP/WebDAV PROPFIND⑴方法请求的内容：</P>
<P align=left>&lt;html&gt;</P>
<P align=left>&lt;head&gt;</P>
<P align=left>&lt;title&gt;test&lt;title&gt;</P>
<P align=left>&lt;script language=vbscript&gt;</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P align=left>Dim xmlDoc</P>
<P align=left>Sub cmdGo_OnClick()</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P align=left>Dim strURL,strPropReg</P>
<P align=left>strURL = txtURL.value</P>
<P align=left>strPropReg="&lt;?xml vesion='1.0'?&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;d:propfind xmlns:d='DAV:'&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;d:prop&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;d:displayname&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;d:creationdate&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;/d:prop&gt;"</P>
<P align=left>strPropReg=strPropReg&amp;"&lt;/d:propfind&gt;"</P>
<P align=left>With CreateObject("microsoft.xmlhttp")</P>
<P align=left>&nbsp;&nbsp;&nbsp; .Open "PROPFIND",strURL,True</P>
<P align=left>&nbsp;&nbsp;&nbsp; .SetRequestHeader "Context-type:","text/xml"</P>
<P align=left>&nbsp;&nbsp;&nbsp; .SetRequestHeader "Depth","1,noroot"</P>
<P align=left>&nbsp;&nbsp;&nbsp; .Send(strPropReg)</P>
<P align=left>&nbsp;&nbsp;&nbsp; responsehere.innerText = .ResponseText</P>
<P align=left>End With</P></BLOCKQUOTE>
<P align=left>End Sub</P></BLOCKQUOTE>
<P align=left>&lt;/script&gt;</P>
<P align=left>&lt;/head&gt;</P>
<P align=left>&lt;body&gt;</P>
<P align=left>&lt;h2&gt;Get Contents of Folder Using XML/HTTP&lt;/h2&gt;</P>
<P align=left>&lt;br&gt;</P>
<P align=left>&lt;p&gt;Enter a URL,something like <A href="http://server/public/documents/</p"><FONT color=#1d58d1>http://server/public/documents/&lt;/p</FONT></A>&gt;</P>
<P align=left>&lt;p&gt;&lt;input type="text" width=100 name="txtURL"&gt;&lt;/p&gt;</P>
<P align=left>&lt;p&gt;&lt;input type="button" value="Go" name="cmdGo"&gt;&lt;/p&gt;</P>
<P align=left>&lt;div id=responsehere&gt;</P>
<P align=left>&lt;/div&gt;</P>
<P align=left>&lt;/body&gt;</P>
<P align=left>&lt;/html&gt;<BR></P>
<P align=left>对于WebDAV来说还有很多的类似方法，对此感兴趣的朋友可以参考一下类似的文章或书籍，在此通过这种方式来表示表示<IMG src="http://www.cnblogs.com/Emoticons/tongue_smile.gif">。<BR><BR>注：⑴在Web Storage System中访问属性，使用PROPFIND方法</P><img src ="http://www.cnblogs.com/hbzxf/aggbug/13913.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47947/" target="_blank">微软告攒机商第一案胜诉</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>ASP.NET结合COM组件发送Email hbzxf（原作）</title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12977.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 02 Jun 2004 09:54:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12977.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/12977.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12977.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/12977.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/12977.html</trackback:ping><description><![CDATA[<div class=postbody>
<p align=center>ASP.NET结合COM组件发送Email<br>张锋（阿好.NET）</p>
<p align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在开发电子邮件发送程序的时候，我们经常需要使用到相应的组件，其实不需要第三方的组件（例如：Jmail）照常可以做到发送Email的功能。</p>
<p align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在系统目录（如c:\winnt或c:\windows）的system32子目录中可以找到一个名称为cdosys.dll的文件，我们可以通过ASP.NET调用此COM组件来实现Email的发送。cdosys构建在SMTP协议和NNTP协议之上，并且作为Windows2000 Server的组件被安装,当然我们也可以使用Exchange2000中cdoex.dll来实现发送邮件的机制。由于cdosys.dll自动内嵌到了操作系统中，所以不用再去注册相应的其他发送程序，下面我们来做一个发送实例。</p>
<p align=left>&nbsp;&nbsp;&nbsp; 1、新建一个项目文件</p>
<p align=left>&nbsp;&nbsp;&nbsp; 2、添加引用系统目录下的cdosys.dll文件，在引用中会发现添加了两个要用到的接口：CDO，ADODB</p>
<p align=left>&nbsp;&nbsp;&nbsp; 3、添加新项文件SendMail.aspx，在其页面上放置三个Label,三个Textbox，作用分别为收件人地址、主题、内容，放置一个Button按钮。</p>
<p align=left>&nbsp;&nbsp;&nbsp; 4、切换到代码页，创建一下内容</p>
<p align=left>&nbsp;&nbsp;public void CDOsendmail()<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;try<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;CDO.Message Msg = new CDO.Message();<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.From = "<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#114;&#97;&#116;&#116;&#108;&#101;&#115;&#110;&#97;&#107;&#101;&#64;&#50;&#54;&#51;&#46;&#110;&#101;&#116;"><font color=#1d58d1>rattlesnake@263.net</font></a>";<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.To = this.TextBox1.Text.Trim();<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.Subject = this.TextBox2.Text.Trim();<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.HTMLBody = "&lt;html&gt;&lt;body&gt;"+this.TextBox3.Text<br>+"&lt;/body&gt;&lt;/html&gt;";<br>&nbsp;&nbsp;&nbsp;&nbsp;CDO.IConfiguration Config = Msg.Configuration;<br>&nbsp;&nbsp;&nbsp;&nbsp;ADODB.Fields oFields = Config.Fields;<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/sendusing"].Value' href_cetemp='http://schemas.microsoft.com/cdo/configuration/sendusing"].Value'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/sendusing"].Value</font></a> = 2;<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake' href_cetemp='http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake</font></a>";<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value' href_cetemp='http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value</font></a>="pass"; <br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1' href_cetemp='http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1</font></a>;<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804' href_cetemp='http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804</font></a>;<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields["<a href='http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.net' href_cetemp='http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.net'><font color=#1d58d1>http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.net</font></a>";<br>&nbsp;&nbsp;&nbsp;&nbsp;oFields.Update();</p>
<p align=left>&nbsp;&nbsp;&nbsp;&nbsp;Msg.BodyPart.Charset = "gb2312";<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.HTMLBodyPart.Charset = "gb2312";</p>
<p align=left><br>&nbsp;&nbsp;&nbsp;&nbsp;Msg.Send();<br>&nbsp;&nbsp;&nbsp;&nbsp;Msg = null;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;catch(Exception err)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw err;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}</p>
<p align=left>&nbsp;&nbsp;&nbsp; 5、为Button添加Click事件</p>
<p align=left>&nbsp;&nbsp;private void Button1_Click(object sender, System.EventArgs e)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.CDOsendmail();<br>&nbsp;&nbsp;}<br></p>
<p align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行程序，然后检查邮箱即可。</p>
</div>
<img src ="http://www.cnblogs.com/hbzxf/aggbug/12977.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47946/" target="_blank">Mono这只猴子招惹了谁？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>给DataGrid单元行添加双击事件 hbzxf（原作） </title><link>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12974.html</link><dc:creator>张锋</dc:creator><author>张锋</author><pubDate>Wed, 02 Jun 2004 09:42:00 GMT</pubDate><guid>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12974.html</guid><wfw:comment>http://www.cnblogs.com/hbzxf/comments/12974.html</wfw:comment><comments>http://www.cnblogs.com/hbzxf/archive/2004/06/02/12974.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/hbzxf/comments/commentRss/12974.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hbzxf/services/trackbacks/12974.html</trackback:ping><description><![CDATA[<DIV class=postbody>
<P align=center><FONT size=5><STRONG>给DataGrid单元行添加双击事件</STRONG></FONT></P>
<P align=center><STRONG>hbzxf（阿好）<BR></STRONG></P>
<P align=left><STRONG><FONT size=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在我需要做到的功能是当我单击DataGrid某行时显示相对应选中的数据信息，在双击此相同行时弹出删除对话框，应该怎么做呢。由于单击问题很简单就不再阐述了，下面我说一下双击事件是怎么实现的。</FONT></STRONG></P>
<P align=left><STRONG><FONT size=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里用到了DataGrid的ItemDataBound事件，我们可以把下面的代码加入到所需的程序中就可实现双击的功能。详细源码如下：</FONT></STRONG></P>
<P align=left><STRONG><FONT size=4>private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem) ) <BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;e.Item.Attributes.Add ("ondblclick", "javascript:return confirm('确定删除" + e.Item.Cells[1].Text + "?');");<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;}<BR></FONT></STRONG></P>
<P align=left><STRONG><FONT size=4>其实就是一个小技巧</FONT></P></STRONG></DIV><img src ="http://www.cnblogs.com/hbzxf/aggbug/12974.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47946/" target="_blank">Mono这只猴子招惹了谁？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>