代码改变世界

单例模式

2012-05-29 20:39 by 刘永强, 125 阅读, 0 推荐, 收藏,
摘要:经典模式:简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)1)首先,该Singleton的构造函数必须是私有的,以保证客户程序不会通过new()操作产生一个实例,达到实现单例的目的; 2)因为静态变量的生命周期跟整个应用程序的生命周期是一样的,所以可以定义一个私有的静态全局变量instance来保存该类的唯一实例; 3)必须提供一个全局函数访问获得该实例,并且在该函数提供控制实例数量的功能,即通过if语句判断instance是否已被实例化,如果没有则可以同new()创建一个实例;否则,直接向客户返回一个实.. 阅读全文

服务器控件使用技巧

2012-05-29 20:35 by 刘永强, 1084 阅读, 0 推荐, 收藏,
摘要:RequiredFieldValidator:非空验证控件用于:必填项使用方法:1)拖一个控件2)设置ControlToValidate属性 (要验证的控件)3)设置验证控件验证不通过要给用户显示的信息. 一般设置Text属性,当Text属性为空时,显示的内容会自动取ErrorMessage的值这个控件所独有的一个属性:InitialValue:设置初始值验证控件的一般属性:Display: none 不显示 static:不显示也占位 dynamic:不显示不占位 通过 display:none样式实现SetFocusOnError:当该验证控件不没有通过验证时,自己获得焦点.Page.Is 阅读全文

AJax细节详解

2011-09-20 06:44 by 刘永强, 196 阅读, 0 推荐, 收藏,
摘要:AJax细节详解一:什么是Ajax? Ajax全称市“Asynchronous JavaScript and XML”,中文意思是异步JavaScrip和XML,是指一种创建交互式网页应用的开发技术,AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词。二:Ajax的优点 Ajax在本质上是一个浏览器端的技术,主要目的在于局部客户端及服务器间的数据交换,这个技术的主角是XMLHttpRequset,在于不用重新载入整个页面来更新数据,也就是所谓的Refresh without Reload(轻刷新),通过JavaScript与服务器沟通,使用XMLRequest本身传送. 阅读全文

缓存深入

2011-09-13 19:55 by 刘永强, 180 阅读, 0 推荐, 收藏,
摘要:缓存(Cache) 一:缓存简介:如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,那么网站的性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论有多少人访问都只访问一次数据库,数据库压力不变。缓存是一种利用空间换取时间的技术,存在于计算机中的很多地方,用来将一些慢速设备中常用数据库保存在快速设备中,取数据的时候直接从快速设备中取,比如cup二级缓存,内存,window文件读取缓存。缓存存在失效的问题:为了保证从缓存中读取数据和慢速数据(数据库)中数据一致,则需要在慢速数据(数据库)中对应的数据发生变化的时候,清. 阅读全文

文件上传 下载 一般处理程序和webForm联系以及asp.net内置对象

2011-08-29 22:26 by 刘永强, 1635 阅读, 5 推荐, 收藏,
摘要:1.HttpHandler实现图片上传(1).表单元素使用 文件选择框<input type="file"/> 控件。(2).表单设置enctype="multipart/form-data",本质上就是设置浏览器提交表单的数据时,使用随机分隔符来分割不同控件的数据,而且数据的组织形式由 name=value换成了数据头和数据体的方式。(3).服务器接收客户端上传的文件使用Request.Files属性,使用HttpPostedFile的SaveAs方法将图片保存在服务器2.HttpHandler实现文件下载Response.AddHeade 阅读全文

委托 文件流 套接字 服务器与浏览器工作原理

2011-08-25 23:42 by 刘永强, 283 阅读, 0 推荐, 收藏,
摘要:编辑器加载中...1.委托:类型安全的函数指针 通俗的意思就是一个能存放某种方法签名的方法的清单 委托的好处:系统定义好委托,但是不知道具体要执行什么代码,所以将委托暴露给开发人员。由开发人员按照委托的方法签名格式,定义方法,并添加到委托上。 2.回调方法:自己定义,系统调用。 3.FileStream: FileStream对象表示在磁盘或者网络路径上指向文件的流,对输入输出进行缓冲,从而提高性能,就是对文件采取分段读取,即每次只读取一部分到内存。 4.字符串和字节数组转换 字符串和字节数组转换:Encoding.UTF8.GetString(byte[]) 字符串转换成字节数组:Encod 阅读全文

Jquery应用

2011-08-21 22:44 by 刘永强, 173 阅读, 0 推荐, 收藏,
摘要:1.ready和onload区别: onload是在整个页面加载完成之后才执行。 Jquery中的ready方法是当dom树完全生成后,就执行。 $(document).ready(function(){})==$(function(){}) 2.将dom元素转换成Jquery对象: var div1=document.getElementBId("div1"); var $div1=$(div1);//换成Jquery对象: 3.Jquery对象转换成dom元素对象: var div1=document.getElementBId("div1"); var $div1=$(div1); //dom元素 var div3=$div1.get(0); 4.当我们把页面上的dom元素封装到一个Jquery对象中的时候,其实是装入了Jquery数组中 5.$==Jquery,是方法 6.$.map()适合于数组,$.each()适合于Json对象 7.当调用jquery的事件方法,传入事件触发时调用的函数,其实是将函数向注册委托上一样,那么当事件被注册了多个方法 阅读全文

MD5 Excel操作 邮件发送 拼音检索

2011-08-15 21:15 by 刘永强, 467 阅读, 0 推荐, 收藏,
摘要:1判断是否包含列 DataRow dr; dr.Table.Columns.Contains(列名) 2判断该列是否为NULL: DBNull.Value != dr[列名] 3.MD5算法: MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种压缩算法,[不是一种加密算法].任何长度的任意内容都可以用MD5加密计算出散列值,我们可以用CalcMD5进行计算,MD5长度一半是32位的十六进制数字符串(比如71f396e4134a1160d90bb1439876df31),MD5值得个数是有限的,但是元数据是无限的,因此存在着不同的内容产生相同MD5的概率,但是不同内容产生相同M 阅读全文

jsDom高级编程

2011-08-10 10:13 by 刘永强, 310 阅读, 0 推荐, 收藏,
摘要:1.神奇的getElementsByName在IE中只能拿到input元素2.getElementById3.this:方法里的this到底是什么,谁.的方法,那里方法里的this就是谁4.submit取消submint的默认提交window.event.returnValue=false;(不提倡,因为浏览器不兼容)。如果使用普通按钮,使用表单对象的submint()方法;onclick=" return checkName();"5.js控制表单提交:5.1为表单中的 提交按钮(submit) 添加 onclick="return check();" 阅读全文

JsDom编程小结

2011-08-07 10:28 by 刘永强, 285 阅读, 0 推荐, 收藏,
摘要:1.浏览器兼容问题:浏览器兼容性的例子:ie6,ie7对table.appendChild("tr")的支持和IE8不一样,用insertRow、insertCell来代替或者为表格添加tbody,然后向tbody中添加tr。FF(FireFox)不支持InnerText,用textContent代替2.几乎所有DOM元素都有innerText、innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的。动态创建元素的时候innerHTML可以代替createElement(),属于简单,粗放型,后果自负的创建3.wri 阅读全文