.NET框架简单介绍

我第一次接触.NET是在大一暑假(2005年),那时候学校有自己专门的网站,也是用ASP.NET开发的,而且全部由学生来管理开发,刚开始仅仅是出于对网站和编程的兴趣(当然也是为了能够谋求一个勤工助学的岗位)。 那个夏天很热,不过参加培训的地方很舒服,在一个大教室里,有空调。那时候对于网站开发、项目开发和.NET都是第一次。第一次接触css,第一次接触html,第一次接触C#,第一次接触.NET框架,第一次接触IIS,第一次接触项目概念… 之前我自学过面向对象,对“类、对象、继承、多态”这些概念是懵懵懂懂的,培训之后也还是一知半解。 什么是.NET?这个问题解释太多了,我还是引用微软官方的解释: “.NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来 “借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案 “.NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。” 历史永远记住这一刻,美国时间2000年6月22日,全球IT界为之关注。 后来又学习C++,学习MFC,综合MFC和.NET框架,然后又看了侯捷先生的文章,终于对于框架编程有了比较深的理解,所以后来学习JavaScript框架等等都可以站在一个高度上理解了。

May 21, 2009

.NET程序员重点学习和积累的技术要点

我知道,一个人的生命是有限的,而工作时间更加有限(我的价值观是工作和事业是为了让生活更好)。基于此,我现在只能在有限的时间里做有限的事情,下面是自己对自己的规划: 一、职业规划 首先,踏踏实实做一个技术人员,在工作总学习和提高自己;然后,能够凭借自己的能力做到项目开发经理;最后,要么能够在企业里做管理层,要么回学校讲课,无论如何最好能够出一本技术书籍。 二、深入学习的技术 1、最重要的:C#和ASP.NET技术,JQuery技术,设计模式,面向对象技术,css和页面布局技术,网站架构技术(squid,memcached等),SQL Sever数据库技术; 2、其次的:PHP技术,Linux技术、MySQL技术; 3、最为基础和技术提高的:C语言技术,数据结构,算法技术,计算机技术(cpu,内存,IO等和程序设计相关的技术)。 三、最值得我去深入研究的技术 以下这些技术是我必须要去深入研究的,而且要花功夫研究: 1、C#语言、.NET框架、C语言; 2、数据结构、面向对象、设计模式、软件工程; 3、Memcached、JQuery(相当于JavaScript)、css。

May 21, 2009

c# params,params用法,代码

在C#语言里,params 关键字可以指定在参数数目可变处采用参数的方法参数。 把数组作为参数的一个关键字,目的是做出如 a(parm1,parm2.parm3,….parmn) ,这样调用方式的函数,也就是同一种类型的不定个数参数列表,如果声明时没用parms关键字就如下调用,实际上是一样的 a(new type[]{parm1,parm2.parm3,….parmn}); 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字,下面是具体示例代码: using System; public class MyClass { public static void UseParams(params int[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } public static void UseParams2(params object[] list) { for (int i = 0 ; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } static void Main() { UseParams(1, 2, 3); UseParams2(1, ‘a’, “test”); // An array of objects can also be passed, as long as // the array type matches the method being called. int[] myarray = new int[3] {10,11,12}; UseParams(myarray); } }

May 21, 2009

C#基础学习:深入理解什么是委托

深入理解什么是委托 委托就是函数指针,先定义了一个委托,然后将它的实例指向某个特定的方法(函数),通过这个委托的实例就可以调用其方法。 1、要想使得委托可以工作,必须有定义好的方法(函数),这是一种方式; 2、可以通过匿名方法来作为委托参数的一个代码块。 匿名方法其实就是在实例化委托的时候给委托定义了代码块,可以实现某些功能,再调用委托的时候就可以直接使用这些代码块了。 注意:匿名方法不能跳转到外部,外部也不能跳转到匿名方法;匿名方法内部不能访问安全代码,也不能在外部使用ref和out参数。 深入理解集合 在C#中应该能够灵活地使用数组列表、字典和集合,这样才可以获取程序的最佳性能。最主要的有下面这些:集合;数组列表;栈;队列;有序列表;字典。集合大都可以通过语句来实现访问: forreach(string item in Items) { writeline(item); } 1、数组列表(ArrayList) 常用的方法Add,Insert,RemoveAt,AddRange。 2、Stack类 适合于处理应用程序使用完后就删除的临时数据项,先进后出。 3、Queue类 和Stack差不多,只不过是先进先出。 4、SortedList类 在使用SortedList类的时候,每一项都会指定一个用于引用改项的标识键。可以通过GetKeyList()和GetValueList()来获取键和值。 5、字典和散列 字典和散列总是会跟HashTable联系起来。 深入理解泛型 引入泛型最大的好处就是避免大量的装箱和拆箱操作,而且能够简化大量代码。

May 21, 2009

C#常用函数列表(二)

11、string str=Request.QueryString[“变量”]; 用超链接传送变量。如在任一页中建超链接href=“Edit.aspx?fbid=“23"点击.在Edit.aspx页中取值:String str=Request.QueryString[“fdid”]; 12、DOC对象.CreateElement(“新建节点名”); 创建XML文档新节点 13、父节点.AppendChild(子节点); 将新建的子节点加到XML文档父节点下 14、 父节点.RemoveChild(节点); 删除节点 15、Response Response.Write(“字串”);Response.Write(变量);向页面输出。Response.Redirect(“URL地址”); 跳转到URL指定的页面 16、char.IsWhiteSpce(字串变量,位数)–逻辑型 查指定位置是否空字符;如:string str=“中国人"Response.Write(char.IsWhiteSpace(str,2));//结果为:True, 第一个字符是0位,2是第三个字符。 17、char.IsPunctuation(‘字符’) –逻辑型 查字符是否是标点符号如:Response.Write(char.IsPunctuation(‘A’)); //返回:False 18、(int)‘字符’ 把字符转为数字,查代码点,注意是单引号。如:Response.Write((int)‘中’); //结果为中字的代码:20013 19、(char)代码 把数字转为字符,查代码代表的字符。如:Response.Write((char)22269); //返回“国”字。 20、 Trim() 清除字串前后空格

May 21, 2009

C#最常用函数

以下是我们在开发过程中最为常用的一些函数: 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒=currentTime.Second; 1.8 取当前毫秒 int 毫秒=currentTime.Millisecond; (变量可用中文) 2、Int32.Parse(变量) Int32.Parse(“常量”) 字符型转换 转为32位数字型 3、 变量.ToString() 字符型转换 转为字符串 12345.ToString(“n”); //生成 12,345.00 12345.ToString(“C”); //生成 ¥12,345.00 12345.ToString(“e”); //生成 1.234500e+004 12345.ToString(“f4”); //生成 12345.0000 12345.ToString(“x”); //生成 3039 (16进制) 12345.ToString(“p”); //生成 1,234,500.00% 4、变量.Length 数字型 取字串长度: 如: string str=“中国” int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名 5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append(“中华”); sb.Append(“人民”); sb.Append(“共和国”); 7、变量.Substring(参数1,参数2); 截取字串的一部分,参数1为左起始位数,参数2为截取几位。 如:string s1 = str.Substring(0,2); 8、String user_IP=Request.ServerVariables[“REMOTE_ADDR”].ToString(); 取远程用户IP地址 9、穿过代理服务器取远程用户真实IP地址: if(Request.ServerVariables[“HTTP_VIA”]!=null){ string user_IP=Request.ServerVariables[“HTTP_X_FORWARDED_FOR”].ToString(); }else{ string user_IP=Request.ServerVariables[“REMOTE_ADDR”].ToString(); } 10、 Session[“变量”]; 存取Session值; 如,赋值: Session[“username”]=“小布什” 取值: Object objName=Session[“username”]; String strName=objName.ToString(); 清空: Session.RemoveAll();

May 21, 2009

IE下页面只有一个text回车将自动submit提交

IE下页面只有一个text回车将自动submit提交 这是IE的一个缺陷,不过还是有解决的办法的: 1、解决办法一:再增加一个text,然后隐藏这个text; 2、解决办法二:可以在这个页面的form里面加上onsubmit=“return false;” 。

May 21, 2009

JavaScript框架Jquery介绍

想必很多人都知道JQuery框架了,现在有很多JavaScript的框架,但是真正非常优秀的框架还属JQuery,从微软在VS2008中专门为其提供只能提示这一侧面可以看得出来它的分量。 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。 jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。 jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。 Jquery是继prototype之后又一个优秀的Javascrīpt框架。对prototype我使用不多,简单了解过。但使用上jquery之后,马上被她的优雅吸引住了。有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery就像ruby.实际上我比较喜欢java(少接触Ruby 罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自己唯一的框架类包。使用其间也有一点点心得,其实这些心得,在jquery的文档上面也可能有讲,不过还是记下来,以备忘罢。 下面是最为简单的JQuery的应用: 告别代码重复的时代 还记得$()这个东西吧?prototype还是DWR都使用了这个函数代替document.getElementById()。没错,jquery也跟风了。为达到document.getElementById()的目的,jquery是这样写的:var someElement = $("#myId"). jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。 jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。

May 21, 2009

JQuery下载,最新版本持续更新

JQuery是一个非常酷的JavaScript框架,极大地简化了JavaScript的操作,本人这段时间开始学习它,并且用它,现在把它当成了一个类似.NET框架的开发类库了,每一个项目我都需要引用到这个框架。 这篇日志我提供JQuery下载地址,并且持续更新,希望给各位带来方便: 1、JQuery下载地址(1.3.2版本——最新发布版本) 精简版本: http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.min.js 完全版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2.js VS2008职能提示版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2-vsdoc2.js 2、JQuery下载地址(1.3版本) 精简版本: http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.min.js 完全版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.js VS2008职能提示版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3-vsdoc.js 3、JQuery下载地址(1.2.6版本——这是现在用得最多的版本) 精简版本: http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.min.js 打包版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.pack.js 完全版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6.js VS2008职能提示版本:http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.2.6-vsdoc.js

May 21, 2009

JQuery页面加载顺序

JQuery页面加载顺序 JQuery在页面加载顺序方面提供了更好更合理的操作,在JavaScript中,window.onload事件下的代码是必须在所有页面元素都加载完成之后才执行(注意:包括了图片和文件等),可是有的时候我们希望hmtl代码加载完成之后(即DOM加载完成之后)就执行某些代码,在JQuery里有这样的函数: $(document).ready(function(){ alert(“hello”); }); 上面的代码在Dom结构被浏览器解析之后就可以执行了。当然也有其他人使用JavaScript来编写一些函数可以实现这样的功能,只不过JQuery更好。另外,使用这样的函数还有一个好处,就是可以基于同一个页面在加载结束之后执行多个脚本函数。

May 21, 2009