﻿<?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>博客园-脱变</title><link>http://www.cnblogs.com/pointdeng/</link><description>我想我是这样进化的</description><language>zh-cn</language><lastBuildDate>Thu, 21 Aug 2008 06:51:19 GMT</lastBuildDate><pubDate>Thu, 21 Aug 2008 06:51:19 GMT</pubDate><ttl>60</ttl><item><title>CuteEditor使用心得</title><link>http://www.cnblogs.com/pointdeng/archive/2008/07/09/1238745.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Wed, 09 Jul 2008 03:12:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/07/09/1238745.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1238745.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/07/09/1238745.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1238745.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1238745.html</trackback:ping><description><![CDATA[使用这个控件是因为前些时间在做一个BLOG，同时看到博客园使用的这个文章编辑器很好，看了看设定，原来是<font face="Verdana">CuteEditor，于是在网上下载了控件，开始配置，以下只是对控件配置作一下笔记。<br />
<font face="Verdana">一、直接把CuteSoft_Client文件夹放到网站根目录下，这个文件夹是放了控件图片之类数据。（在2.0下可能要把dialog文件夹里面的getfilethub.aspx删除）；<br />
二、打开：CuteSoft_Client/CuteEditor/Configuration/Security，修改&#8220;Default.config&#8221;文件；<br />
</font><font face="Verdana">三、对Default.config进行常用属性设置：<br />
<br />
&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />
&lt;configuration&gt;<br />
&lt;security name="RestrictUploadedImageDimension"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否限制上传图象尺寸<br />
&lt;security name="OverWriteExistingUploadedFile"&gt;false&lt;/security&gt;&nbsp;&nbsp; //如果上传的文件已经存在，是否将其覆盖<br />
&lt;security name="AutoResizeUploadedImages"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否自动调整上传图象<br />
&lt;security name="MaxImageWidth"&gt;1024&lt;/security&gt;&nbsp;&nbsp; //上传图象的最大宽度<br />
&lt;security name="MaxImageHeight"&gt;768&lt;/security&gt;&nbsp;&nbsp; //上传图象的最小宽度<br />
&lt;security name="MaxImageSize"&gt;1000&lt;/security&gt;&nbsp;&nbsp; //上传图象文件的最大值<br />
&lt;security name="MaxMediaSize"&gt;100&lt;/security&gt;&nbsp;&nbsp; //上传媒体文件的最大值<br />
&lt;security name="MaxFlashSize"&gt;100&lt;/security&gt;&nbsp;&nbsp; //上传Flash文件的最大值<br />
&lt;security name="MaxDocumentSize"&gt;10000&lt;/security&gt;&nbsp;&nbsp; //文档最大值<br />
&lt;security name="MaxTemplateSize"&gt;1000&lt;/security&gt;&nbsp;&nbsp; //模板最大值<br />
&lt;security name="ImageGalleryPath"&gt;~/uploads&lt;/security&gt;&nbsp;&nbsp; //图象文件上传路径<br />
&lt;security name="MediaGalleryPath"&gt;~/uploads&lt;/security&gt;&nbsp;&nbsp; //媒体文件上传路径<br />
&lt;security name="FlashGalleryPath"&gt;~/uploads&lt;/security&gt;&nbsp;&nbsp; //Flash文件上传路径<br />
&lt;security name="TemplateGalleryPath"&gt;~/templates&lt;/security&gt;&nbsp;&nbsp; //模板路径<br />
&lt;security name="FilesGalleryPath"&gt;~/uploads&lt;/security&gt;&nbsp;&nbsp; //文件库路径<br />
&lt;security name="MaxImageFolderSize"&gt;102400&lt;/security&gt;&nbsp;&nbsp; //图象文件夹最大值<br />
&lt;security name="MaxMediaFolderSize"&gt;102400&lt;/security&gt;&nbsp;&nbsp; //媒体文件夹最大值<br />
&lt;security name="MaxFlashFolderSize"&gt;102400&lt;/security&gt;&nbsp;&nbsp; //Flash文件夹最大值<br />
&lt;security name="MaxDocumentFolderSize"&gt;102400&lt;/security&gt;&nbsp;&nbsp; //文档文件夹最大值<br />
&lt;security name="MaxTemplateFolderSize"&gt;102400&lt;/security&gt;&nbsp;&nbsp; //模板文件夹最大值<br />
&lt;security name="ThumbnailWidth"&gt;80&lt;/security&gt;&nbsp;&nbsp; //最小宽度<br />
&lt;security name="ThumbnailHeight"&gt;80&lt;/security&gt;&nbsp;&nbsp; //最小高度<br />
&lt;security name="ThumbnailColumns"&gt;5&lt;/security&gt;&nbsp;&nbsp; //最小列数<br />
&lt;security name="ThumbnailRows"&gt;3&lt;/security&gt;&nbsp;&nbsp; //最小行数<br />
&lt;security name="AllowUpload"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许上传<br />
&lt;security name="AllowModify"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许修改<br />
&lt;security name="AllowRename"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许重命名<br />
&lt;security name="AllowDelete"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许删除<br />
&lt;security name="AllowCopy"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许复制<br />
&lt;security name="AllowMove"&gt;true&lt;/security&gt; &lt;!-- this is rename too --&gt;&nbsp;&nbsp; //是否允许移动<br />
&lt;security name="AllowCreateFolder"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许创建文件夹<br />
&lt;security name="AllowDeleteFolder"&gt;true&lt;/security&gt;&nbsp;&nbsp; //是否允许删除文件夹<br />
&lt;security name="ImageFilters"&gt;&nbsp;&nbsp; //这里过滤(设置)图象文件格式<br />
&nbsp;&nbsp; &lt;item&gt;.jpg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.jpeg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.gif&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.png&lt;/item&gt;<br />
&lt;/security&gt;<br />
&lt;security name="MediaFilters"&gt;&nbsp;&nbsp; //这里过滤(设置)媒体文件格式<br />
&nbsp;&nbsp; &lt;item&gt;.avi&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.mpg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.mpeg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.mp3&lt;/item&gt;<br />
&lt;/security&gt;<br />
&lt;security name="DocumentFilters"&gt;&nbsp;&nbsp; //这里过滤(设置)文档文件格式<br />
&nbsp;&nbsp; &lt;item&gt;.txt&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.doc&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.pdf&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.zip&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.rar&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.avi&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.mpg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.mpeg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.swf&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.jpg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.jpeg&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.gif&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.png&lt;/item&gt;<br />
&nbsp;&nbsp; &lt;item&gt;.htm&lt;/item&gt;<br />
&lt;/security&gt;<br />
&lt;/configuration&gt;</font><font face="Verdana"><br />
四、导入CuteEditor.dll；NetSpell.SpellChecker.dll库文件；
<p>五、在根目录下建立Uploads的文件夹作为上传图片及附件的根目录，建立<font face="Verdana">templates</font>作为模板文件夹，用处不大，不过不建会报错。</p>
<p>六、example.css放在站点根目录下，它指定了编辑器的样式。</p>
<p>七、控件的调用代码：<br />
&lt;%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %&gt;</p>
<p>&lt;CE:EDITOR id="Editor1" runat="server" Width="550px" EditorWysiwygModeCss="../example.css"&gt;&lt;/CE:EDITOR&gt;<br />
&nbsp;</p>
<p><br />
可修改文件CuteSoft_Client\\CuteEditor\\Configuration\\Shared\\Common.config来添加字体。</p>
<p>&nbsp;以上内容均来自网上。。。。。。。。。。。。。。</p>
<p>我的小结：<br />
一、CuteSoft_Client\CuteEditor\Dialogs\InsertEmotion.htm文件可按页面的格式添加表情，<br />
二、CuteSoft_Client\CuteEditor\Configuration\Shared\Common.config 可配置以下内容：<br />
&nbsp;1、代码片断：&nbsp;找到文件中的Codes节点，添加一个item节点，按它的格式，添加value和 html<br />
&nbsp;2、连接：找到文件中LinkTree节点，不难看出它是连接中那个树形结构的配置，item中可以包含item，可按它的格式写出更多。<br />
&nbsp;&nbsp;如：<br />
&nbsp;&nbsp;&nbsp;&lt;item text="deng" value="http://pointdeng.cnblogs.com/"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;html&gt;&lt;![CDATA[hi:pointdeng]]&gt;&lt;/html&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/item&gt;<br />
&nbsp;3、Images：找到文件中Images节点，添加相应item节点，<br />
&nbsp;三、在一个网站中，肯定会有很多的人，那么这些人自己上传的文件怎么管理呢？经过查找之后发现原来控件可以设定相关文件的路径的，<br />
&nbsp;&nbsp;Editor1.AutoConfigure枚举设定风格<br />
&nbsp;&nbsp;Editor1.SetSecurityImageGalleryPath(path);图片文件路径<br />
&nbsp;&nbsp;Editor1.SetSecurityMediaGalleryPath(path);多媒体文件路径&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Editor1.SetSecurityGalleryPath(path);没明白这是什么，不过都设一样吧。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Editor1.SetSecurityFilesGalleryPath(path);可下载文件路径<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里的path我是按用户名建不同的文件夹的，也许还有更好的办法/<br />
&nbsp;&nbsp;&nbsp; 还有很多的方法，如Editor1.MaxHTMLLength可以限定输入的长度等，，，，，<br />
<br />
如有朋友知道更多，请指点指点，谢谢！<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;</p>
<p></font>&nbsp;</p>
</font>
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1238745.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41819/" target="_blank">[新闻]英特尔雅虎开发网络计算机频道</a>]]></description></item><item><title>asp.net 中的default button</title><link>http://www.cnblogs.com/pointdeng/archive/2008/07/07/1237676.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Mon, 07 Jul 2008 10:08:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/07/07/1237676.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1237676.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/07/07/1237676.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1237676.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1237676.html</trackback:ping><description><![CDATA[今天遇到个问题，搞得很郁闷，换了几种方法才解决了，因为过程中搞得很心烦，更怕过后会忘了，特此笔记。<br />
用户要求在一个文本输入框中按回车后，就相当于是点击了边下的&#8220;查找&#8221;，这看似一个很简单的东西，可做起来，有时候并不是想象中的容易。<br />
方法一：可能很多人都会想，把Form的DefaultButton设为那个BUTTON不就完了吗！但是我这里情况不太一样，由于引用了母版页，而这个文件框是处在内容页中，且当按回车时，会自动执行母版页中的另一个BUTTON，所以只是简单地设置DefalutButton,是不行的~~<br />
方法二：调用<font face="Verdana">__doPostBack</font>,其它这是一个很好的办法，一个asp.net页面，只要页面上在LinkButton.那么在客户端不难找到这样一个JS方法：<br />
<font face="Verdana">function __doPostBack(eventTarget, eventArgument) {<br />
&nbsp;&nbsp;&nbsp; if (!theForm.onsubmit || (theForm.onsubmit() != false)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; theForm.__EVENTTARGET.value = eventTarget;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; theForm.__EVENTARGUMENT.value = eventArgument;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; theForm.submit();<br />
&nbsp;&nbsp;&nbsp; }<br />
}</font><br />
在asp.net中，每一个服务器控件都是submit，这个方法其实是记录了当前是那一个控件在执行提交，可以从<font face="Verdana">&nbsp;Response.Write(Request["__EVENTTARGET"]+"&lt;br&gt;");</font>中看出名堂。那么当用户按回车时，就可以调这个方法，第一个参数为控件的ID，第二个参数为空。心里正欢喜着...事实证明，这个方法在我那个地方是不可行的，它还是会执行母版页中的另一个BUTTON，方法如下：<br />
<font face="Verdana">&lt;script type="text/javascript"&gt;<br />
function search(e,buttonid)<br />
{<br />
&nbsp;&nbsp;&nbsp; var bt = document.getElementById(buttonid); <br />
&nbsp;&nbsp;&nbsp; if(event.keyCode=="13")<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __doPostBack(bt,"");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
&lt;/script&gt;</font><br />
后台：<font face="Verdana">txtSearch.Attributes.Add("onkeydown", "return&nbsp; search(event,'" + btnSearch.ClientID + "')");<br />
</font>在我万分失望的时候，是互联网给了我活力！<br />
我有幸找到了一篇外国的文章（<a title="http://seesharp.spaces.live.com/blog/cns!8ae98e426889665f!299.entry" href="http://seesharp.spaces.live.com/blog/cns!8ae98e426889665f!299.entry">http://seesharp.spaces.live.com/blog/cns!8ae98e426889665f!299.entry</a>）<br />
虽然本人英语很菜，但由于急于解决问题，那上面所讲的我还是看明白了（部分~）<br />
方法三：改一下JS方法，其实就是用JS来执行BUTTON的click方法，看人家国外的文章就是不一样，都是些精华呀，看到提高英语已是迫在眉睫的事情了！。<br />
<p><font face="Verdana">&lt;script type="text/javascript"&gt;<br />
function search(e,buttonid)<br />
{ <br />
&nbsp;&nbsp;&nbsp; var bt = document.getElementById(buttonid); <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if (typeof bt == 'object')<br />
&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(navigator.appName.indexOf("Netscape")&gt;(-1))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (e.keyCode == 13)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bt.click(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (navigator.appName.indexOf("Microsoft Internet Explorer")&gt;(-1))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (event.keyCode == 13)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bt.click(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </font></p>
<p><font face="Verdana">}<br />
&lt;/script&gt;</font></p>
这里包括了对浏览器类型的判断,以达到兼容的效果。<br />
<font face="Verdana">如此，累了多时的任务终于完成了，看来小问题也不能小看啦。<br />
</font><br />
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1237676.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41818/" target="_blank">[新闻]Windows Live视频邮件9月9日开始测试</a>]]></description></item><item><title>悬浮的购物车</title><link>http://www.cnblogs.com/pointdeng/archive/2008/05/14/1196737.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Wed, 14 May 2008 06:17:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/05/14/1196737.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1196737.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/05/14/1196737.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1196737.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1196737.html</trackback:ping><description><![CDATA[今天在项目中看到可能会用到这个东西，我做了个小例子，其原理就是把一个层（定位一定要是<font face="Verdana">absolute</font>），在页面滚动的时候，触发事件，改变这个层的位置。<br />
一、定义这个层：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<font face="Verdana">&nbsp;&lt;div id="div1" style="position: absolute; z-index: 10000; background-color: Red;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width: 300px; height: 200px;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这是一个悬浮的层！<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
二、定义改变层位置的方法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<font face="Verdana">&nbsp; function scrolls()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; div1.style.marginTop=document.documentElement.scrollTop+div1.clientHeight;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; div1.style.marginLeft=document.documentElement.scrollLeft+document.body.clientWidth - div1.clientWidth;<br />
&nbsp;&nbsp;&nbsp; }<br />
三、在滚动事件中调用方法：<br />
<font face="Verdana">&nbsp;window.onscroll = function()<br />
&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolls();<br />
&nbsp;&nbsp;&nbsp; } </font><br />
四、在加载事件中调用方法：<br />
<font face="Verdana">&nbsp;window.onload=function()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scrolls();<br />
&nbsp;&nbsp;&nbsp; }</font></font></font>
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1196737.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41817/" target="_blank">[新闻]Intel首次公开展示Nehalem架构迅驰3平台</a>]]></description></item><item><title>DIV+CSS实现圆角</title><link>http://www.cnblogs.com/pointdeng/archive/2008/04/25/1171323.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Fri, 25 Apr 2008 09:15:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/04/25/1171323.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1171323.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/04/25/1171323.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1171323.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1171323.html</trackback:ping><description><![CDATA[今天别人问我，我学习了一下，嘿嘿，<br />
原理就是在一个层上加二到三个层，不过这些层只有左右边线，最上和最下有背景色，然后它们都有长度差距，就这样了，以下是我做的例子：<br />
<p><font face="Verdana">&lt;html<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;无标题页&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;style&gt;<br />
.up1<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:4px;<br />
&nbsp;&nbsp;&nbsp; margin-right:4px;<br />
&nbsp;&nbsp;&nbsp; background-color: Aqua;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.up2<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:3px;<br />
&nbsp;&nbsp;&nbsp; margin-right:3px;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.up3<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:2px;<br />
&nbsp;&nbsp;&nbsp; margin-right:2px;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.content<br />
{ <br />
&nbsp;&nbsp;&nbsp; margin-left:1px;<br />
&nbsp;&nbsp;&nbsp; margin-right:1px;<br />
&nbsp;&nbsp;&nbsp; height:100px;/*这里控件高度*/<br />
&nbsp;&nbsp;&nbsp; /*background-color: Aqua;*/<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.down1<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:2px;<br />
&nbsp;&nbsp;&nbsp; margin-right:2px;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.down2<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:3px;<br />
&nbsp;&nbsp;&nbsp; margin-right:3px;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.down3<br />
{<br />
&nbsp;&nbsp;&nbsp; overflow:hidden; <br />
&nbsp;&nbsp;&nbsp; height:1px;<br />
&nbsp;&nbsp;&nbsp; margin-left:4px;<br />
&nbsp;&nbsp;&nbsp; margin-right:4px;<br />
&nbsp;&nbsp;&nbsp; background-color: Aqua;<br />
&nbsp;&nbsp;&nbsp; border-left:solid 1px Aqua; <br />
&nbsp;&nbsp;&nbsp; border-right:solid 1px Aqua;<br />
}<br />
.cell<br />
{<br />
&nbsp;&nbsp;&nbsp; width: 50px;/*这里控制宽度*/<br />
}</font></p>
<p><font face="Verdana"><br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;div class="cell"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="up1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="up2"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="up3"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="content"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里放内容<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="down1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="down2"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div class="down3"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</font></p>
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1171323.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41816/" target="_blank">[新闻]Pogo浏览器</a>]]></description></item><item><title>欢迎使用我的控件</title><link>http://www.cnblogs.com/pointdeng/archive/2008/04/17/1158040.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Thu, 17 Apr 2008 06:30:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/04/17/1158040.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1158040.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/04/17/1158040.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1158040.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1158040.html</trackback:ping><description><![CDATA[<p>最近花了几天时间，终于把我想要的那个控件(GridView)效果做完了，它也是我所花时间最长的，主要是通过数据绑定，在页面上实现了AJAX的操作。<br />
每一行可以添加不同操作的BUTTON，点击列头排序，批量操作（复选框），还有分页。好下所示：<br />
<img height="190" alt="" src="http://www.cnblogs.com/images/cnblogs_com/pointdeng/c.jpg" width="1226" border="0" /><br />
其中我也遇到了很多问题，但最终都一一解决，在开发过程中，我也换了几种不同的思路，修复了一些BUG，下面是使用示例，只要把配置文件中的数据库连接字符串中的密码改了就可以了：<br />
<a title="控件使用示例下载" href="/Files/pointdeng/ControlTest.rar">控件使用示例下载</a></p>
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1158040.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41807/" target="_blank">[新闻]洪磊口述:番茄花园如何捆绑流氓软件月入十万</a>]]></description></item><item><title>有用的SQL语句，更新中~</title><link>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1136103.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Thu, 03 Apr 2008 05:16:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1136103.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1136103.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1136103.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1136103.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1136103.html</trackback:ping><description><![CDATA[动态分页：<br />
这语句很有用，我在我写的类中一直用到，可能查出数据库中一段数据出来，当然可以加条件的，这样的话可以减轻服务器的负担。<br />
1、select top 5 * from users<br />
表示查出users表中前5条记录，如果是想查20-30这段记录呢：<br />
2、select top 10 * from users where id not in (select top 20 * from users )<br />
加上条件和排序<br />
3、select top 10 * from users where id not in (select top 20 * from users where name='张三'&nbsp;&nbsp; order by Id desc) and name='张三'&nbsp; order by Id desc<br />
不过在ACCESS中这个TOP会和SQL有一点点不同，就是说当top 0的时候会出错，这里要注意一下。<br />
如果分页后，再对这几条记录排序呢？这里有两种办法：<br />
一、用临时表：<br />
<font face="Verdana">select top 5 * into #B from Users select * from #B order by name desc drop table #B<br />
删除临时表：<br />
<font face="Verdana">if&nbsp; object_id('tempdb..#B') is not null <br />
begin <br />
&nbsp;&nbsp; drop table #B<br />
end </font><br />
</font>加上条件：<br />
<font face="Verdana">select top 5 * into #Q from Users where Id not in(select top 2 Id from Users where Sex='0' ) and Sex='0' select * from #Q order by name desc drop table #Q</font><br />
不过这里很明显是用了多条SQL了，<br />
二、一句SQL：<br />
<font face="Verdana">select * from (select top 5 * from Users order by ID asc) as V order by Name Desc</font><br />
当然也可以加条件了：<br />
<font face="Verdana">select * from ( select top 5 * from Users where Id not in(select top 2 Id from Users where Sex='0'&nbsp; order by Id asc) and Sex='0' order by Id asc) as T order by Name asc<br />
</font>上一句是分页加条件排序，很有用~<br />
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1136103.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41813/" target="_blank">[新闻]2008年8月21日IT博客精选：盖茨复出？</a>]]></description></item><item><title>asp.net 实现多语言界面</title><link>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1135780.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Thu, 03 Apr 2008 02:23:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1135780.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1135780.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/04/03/1135780.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1135780.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1135780.html</trackback:ping><description><![CDATA[最近看了朋友公司的项目，要求有中、英、日三种界面，他们是分别做三种不同的页面来实现的~~我看了吓倒了，这样的话，工作量也太大了吧！<br />
其实在.Net里有很好的处理方式，那就是用资源文件。<br />
用了资源文件，项目中不管要求多少种语言，只要做一个界面。其它的工作就只是翻译了。<br />
先讲一下个人理解的原理：IE在访问的时候，服务器会取到访问的客户机的所在区域，也就是说用的是什么语言，这样返回的信息（如：日期）才会是相应的。<br />
这个语言可以在IE--工具-选项-语言，中更改。<br />
<br />
先在页面上放了几个BUTTON，其它的不用管它，编译通过后，点击：工具-生成本地资源，几秒后会发现，解决方案中多出了一个文件夹：<font face="Verdana">App_LocalResources</font>，且它包含了一个与页面同名的文件，不过扩展名是<font face="Verdana">resx</font>，它就是资源文件，打开它后，不难发现里面名称和值都是页面上控件的内容，<br />
这里我们只要把它的值改一下，写些什么张三李四的就行了，现在远行页面，会发现控件已变成了张三李四了，并且页面上我们是没有任何设定的。<br />
<br />
现在再回到IE的语言中，中国的代码是：<font face="Verdana">zh-cn</font>，英国：<font face="Verdana">en-gb</font>，那就用这两个国做例子。实现点张三时，显示中文，点李四时显示英文。<br />
在VS中打开<font face="Verdana">App_LocalResources</font>，拖动先前自动生成的那个资源文件，取个名，如：<font face="Verdana">Default.aspx.en-gb.resx,而默认那个则是：<font face="Verdana">Default.aspx.resx<br />
这里一定要注意命名的规范，注意看一下就知道为什么了。<br />
现在打开<font face="Verdana">Default.aspx.en-gb.resx</font>，会发现它和<font face="Verdana">Default.aspx.resx的内容是一样的（有点像费话，，），更改它，如把张三改成zhang,李四改成li，再编译。运行，如果IE的语言是中文的话，显示会是中文的，再把IE的语言改成英国。F5，看到的就是英文的了，呵呵，这样还没完。<br />
</font><br />
现在要做到点张三为中文，点李四为英文，<br />
到页面代码中重写<font face="Verdana">InitializeCulture</font>方法，加入以下代码：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(Session[</span><span style="color: #800000">"</span><span style="color: #800000">lan</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
<img id="Codehighlighter1_37_103_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_37_103_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_37_103_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_37_103_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_37_103_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_37_103_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_37_103_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_37_103_Open_Text').style.display='inline';" src="http://www.cnblogs.com/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_37_103_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"  alt="" /></span><span id="Codehighlighter1_37_103_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session[</span><span style="color: #800000">"</span><span style="color: #800000">lan</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Request.UserLanguages[</span><span style="color: #800080">0</span><span style="color: #000000">];<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&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"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;lan&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Session[</span><span style="color: #800000">"</span><span style="color: #800000">lan</span><span style="color: #800000">"</span><span style="color: #000000">].ToString();<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.CurrentThread.CurrentUICulture&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;CultureInfo(lan);<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Thread.CurrentThread.CurrentCulture&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;CultureInfo.CreateSpecificCulture(lan);</span></div>
这里是先取默认的语言，然后把当前语言设为这种语言，（如果Session空的话）<br />
转为中文：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">Session[</span><span style="color: #800000">"</span><span style="color: #800000">lan</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">zh-cn</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Redirect(Request.Url.PathAndQuery);</span></div>
转为英文：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">Session[</span><span style="color: #800000">"</span><span style="color: #800000">lan</span><span style="color: #800000">"</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">en-gb</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
<img src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Response.Redirect(Request.Url.PathAndQuery);</span></div>
<br />
</font></font>
<img src ="http://www.cnblogs.com/pointdeng/aggbug/1135780.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41813/" target="_blank">[新闻]2008年8月21日IT博客精选：盖茨复出？</a>]]></description></item><item><title>关于WebService中SOAP扩展求助~~</title><link>http://www.cnblogs.com/pointdeng/archive/2008/03/28/1127821.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Fri, 28 Mar 2008 08:00:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/03/28/1127821.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1127821.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/03/28/1127821.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1127821.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1127821.html</trackback:ping><description><![CDATA[摘要: 最近整了个WebService的SOAP扩展，遇到了问题，网上找了很久，没找到一个好的方法。想到园子里肯定高手如云，特来此求助~！情况是这样的：我有一个WebService,在没加SOAP扩展前是可以访问的。代码如下：[WebService(Namespace="http://tempuri.org/")][WebServiceBinding(ConformsTo=WsiProfiles.Basi&nbsp;&nbsp;<a href='http://www.cnblogs.com/pointdeng/archive/2008/03/28/1127821.html'>阅读全文</a><img src ="http://www.cnblogs.com/pointdeng/aggbug/1127821.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41812/" target="_blank">[新闻]微软宣布将斥资1亿美元购买Novell证书</a>]]></description></item><item><title>同一账号多次登录</title><link>http://www.cnblogs.com/pointdeng/archive/2008/03/26/1122924.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Wed, 26 Mar 2008 05:12:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/03/26/1122924.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1122924.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/03/26/1122924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1122924.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1122924.html</trackback:ping><description><![CDATA[<font face="Verdana">在WEB应用程序中，如果想做这样一个功能：<br />
&nbsp;&nbsp;在一个用户在A地登录后，另一个人用同一账号在B地登录，那么就要提示此账号正在被使用。<br />
&nbsp;<br />
&nbsp;思路：<br />
&nbsp;&nbsp;1、在Session开始时，也就是第一次成功登录时，给Session值，同时，把这个值添加到Application中。<br />
&nbsp;&nbsp;2、众所周知，Session是一个会话，也就是说是一个人所拥有的，而Application则是整个网站所共公的，<br />
&nbsp;&nbsp;&nbsp;把所有登录的账号都存在Application中，用它来判断相应的账号是否已经存在，也就是说是否已经登录过了。<br />
&nbsp;&nbsp;&nbsp;到这里，第1步，第一次登录的时候就得加点东西，得判断一下Application中有没有这个账号，如果有，那么就提示不能登录；<br />
&nbsp;&nbsp;&nbsp;如果没有，那么就给Session值，同时，把这个值加到Application中去。<br />
&nbsp;&nbsp;3、当然，只是在Application中加东西，不清除它可是不行的，这样的话一个用户只能登录一次了，要想下一次登录就得重起一下Server了，<br />
&nbsp;&nbsp;&nbsp;在什么时候清除它呢，当用户退出的时候，对，当用户退出时，清除Session，这样会触发Global.asax中的Session_End事件,<br />
&nbsp;&nbsp;&nbsp;在这个事件中清除登录的账号。这样，用户退出时，清除，登录时，先判断，后确定能不能登录，并确定是否添加进Application。<br />
&nbsp;&nbsp;&nbsp;一个完美的计划产生了，不过，事情往往不是想得这样简单的。<br />
&nbsp;&nbsp;4、前面的想法只是理想主义，我相信没有多少人在用完系统后，会认真地去点一下那个&#8220;退出&#8221;，多半是直接在IE的叉叉上一点，<br />
&nbsp;&nbsp;&nbsp;还有更酷的是，按一下ALT+F4，这种情况下，如果把Session的时间设得过大，那这个用户突然想起还有点事情没做完，那是不是要让用户<br />
&nbsp;&nbsp;&nbsp;去抽支烟再来呢，如果把Session时间设得过小，用户正在添加数据或是写文章的时候，当提交时，由于Session过期而显示一个登录界面，<br />
&nbsp;&nbsp;&nbsp;可能用户不气死也要气疯了吧。<br />
&nbsp;&nbsp;5、有人马上说：在关闭IE时处理一下撒！好主意！onbeforeunload这个事件正是在页面卸载前触发的，这里可以做下手脚，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function window.onbeforeunload() <br />
&nbsp;&nbsp;&nbsp;&nbsp;{ <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (event.clientX&gt;document.body.clientWidth &amp;&amp; event.clientY&lt;0||event.altKey)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br />
&nbsp;&nbsp;&nbsp;　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.open("logout.aspx"); <br />
&nbsp;&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;&nbsp;　　}<br />
&nbsp;&nbsp;&nbsp;在logout.aspx的Page_Load事件中清除Session和Application,当然还得在logout.aspx的onload中加点JS：onload="javascript:window.close()"<br />
&nbsp;&nbsp;&nbsp;看起来差不多了吧，现在有两个地方清除Application了，不过，这样试一下，点IE的文件-&gt;退出,不难发现，和想的有点不对了，这样不能触发JS的事件。<br />
&nbsp;&nbsp;6、还有什么招吗？看来得放弃第5步中所说的方法了。<br />
&nbsp;&nbsp;&nbsp;再回到第4步中的想一下，Session的时间不能设得太大，也不能设得太小，这个合适就不好把握了。<br />
&nbsp;&nbsp;&nbsp;有高人提示到：在客户端一直激活它不就行了吗，当用户没激活时，也就表示Session过期了撒~<br />
&nbsp;&nbsp;&nbsp;真是高人！<br />
&nbsp;&nbsp;&nbsp;在客户端激活Session,可能最先想到的是要用AJAX，正是！首先来创建一个异步访问对象：<br />
&nbsp;&nbsp;&nbsp;var httpRequest;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;function CreateXmlHttpRequest()<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;httpRequest = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(window.XMLHttpRequest)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{//Mozilla浏览器<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpRequest = new XMLHttpRequest();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(httpRequest.overrideMimeType)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpRequest.overrideMimeType("text/xml");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else if(window.ActiveXObject)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{//IE浏览器<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpRequest = new ActiveXObject("Msxml2.XMLHTTP");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;httpRequest = new ActiveXObject("Microsoft.XMLHTTP");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(!httpRequest)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.alert("Can't Create XMLHttpRequest");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;再来个方法来调用它：<br />
&nbsp;&nbsp;&nbsp; var x=1; <br />
&nbsp;&nbsp;　　function myRefresh() <br />
&nbsp;&nbsp;　　{ <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp; if(CreateXmlHttpRequest() != false)<br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpRequest.open("GET", "Default3.aspx", true); <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpRequest.send(null); <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp; x++; <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp; if(x&lt;=2) //真正的过期时间<br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp; { <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setTimeout("myRefresh()",30*1000); //30秒 <br />
&nbsp;&nbsp;　　&nbsp;&nbsp;&nbsp; } <br />
&nbsp;&nbsp;　　} <br />
&nbsp;&nbsp;这样，一开始就调用这个方法，那么就等于页面不停地在请求这个页面了：myRefresh();<br />
&nbsp;&nbsp;而在Default3.aspx中，只要在Page_Load事件中加一行：Response.Expires = -1;<br />
&nbsp;&nbsp;同时，在Web.Config中写个小小的配置：&lt;sessionState mode="InProc" timeout="1"&gt;&lt;/sessionState&gt;<br />
&nbsp;&nbsp;就可以了，注意那个x，它表示一共调用多少次，也就是Session过期的时间是多少，这里就得看自己的项目了，设多大自己看着办吧。<br />
&nbsp;&nbsp;按照这个做法，当用户登录后，<br />
&nbsp;&nbsp;(1)、马上关掉这个页面，这时，Session的过期时间是1分钟，相信这1分钟不会太久吧~<br />
&nbsp;&nbsp;&nbsp;过了1分钟，Session就会过期，自然就会触发上面所说的Session_End事件，这样就可以清除Application了。<br />
&nbsp;&nbsp;(2)、不关掉页面，我就这么一直耗着，如果上面的x设得够长的话，Session会到很长的时间才会过期(1小时左右吧)，<br />
&nbsp;&nbsp;&nbsp;一小时都不做任何操作，可能用户真的是睡着了吧，这样叫你再登录一次不过分吧！<br />
&nbsp;&nbsp;&nbsp;当然在这1小时内，你有任何的操作，x会重新计数的，也就是说用户在最后一次操作过了1小时后，才会过期，<br />
&nbsp;&nbsp;&nbsp;当然在这1小时内，你直接关掉IE，1分钟后Session自然会过期了，<br />
&nbsp;&nbsp;别忘了这里的主题是在当前账号使用的同时其它人不能使用，这里也就达到了这个效果，在这1小时内，其它人是登录不进来的~<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;</font>
 <img src ="http://www.cnblogs.com/pointdeng/aggbug/1122924.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41811/" target="_blank">[新闻]携程谷歌将联合发旅游榜单</a>]]></description></item><item><title>WEB自定义控件小记</title><link>http://www.cnblogs.com/pointdeng/archive/2008/03/19/1112835.html</link><dc:creator>point.deng</dc:creator><author>point.deng</author><pubDate>Wed, 19 Mar 2008 03:01:00 GMT</pubDate><guid>http://www.cnblogs.com/pointdeng/archive/2008/03/19/1112835.html</guid><wfw:comment>http://www.cnblogs.com/pointdeng/comments/1112835.html</wfw:comment><comments>http://www.cnblogs.com/pointdeng/archive/2008/03/19/1112835.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/pointdeng/comments/commentRss/1112835.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/pointdeng/services/trackbacks/1112835.html</trackback:ping><description><![CDATA[摘要: 以前我在做项目的时候，都是用的是用户自定义控件，这一回我看了一下自定义控件。它们两者的不同点在于：用户自定义控件是基于横向的，也就是说可以用多个控件组合在一起使用；而自定义控件是纵向的，是一个已存在控件的扩展。新建一个WEB自定义控件项目；由于在项目中经常会用到点一个BUTTON的时候，要弹出JS的确认对话框，第一次都要在页面上加入JS，很麻烦，这个过程是可以封装的~~新建一个&#8220;自定义&nbsp;&nbsp;<a href='http://www.cnblogs.com/pointdeng/archive/2008/03/19/1112835.html'>阅读全文</a><img src ="http://www.cnblogs.com/pointdeng/aggbug/1112835.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41810/" target="_blank">[新闻]商刊:Google不可能永远领先 微软寄希望于时间</a>]]></description></item></channel></rss>