04 2011 档案

摘要:Session是保存在服务器端的,关于用户个人信息的一个小容器!用来保存每一个用户的关键信息!每个用户访问时候,都会创建一个SessionID,这个SessionID会保存到浏览器的cookie中。服务器根据SessionID关联到此浏览器的用户。 那么我先建一个SessionManager类,用来管理Session。:管理Session的类public class SessinManager{ //模拟asp.net的session原理! private static IDictionary<string, IDictionary<string, object>> d 阅读全文
posted @ 2011-04-29 16:21 GY小小鸟 阅读(3319) 评论(11) 推荐(4)
摘要:http协议是无状态的,不会记住上次和网页“发生了什么”。服务器不记得上次给了浏览器什么,浏览器需要记住这些值(input 就记在value中,对于其他值就放在隐藏字段中,比如viewstate),下次再提交的时候再发到服务器,从而实现交互的效果!状态信息保存在隐藏字段中的缺点:加大网站的流量,降低访问速度,机密数据放到表单中会有数据欺骗的安全性问题! 所以又产生了Session和Cookie机制来补充。看下面一个小例子: View Code public partial class WebForm1 : System.Web.UI.Page { //没接受一次请求,都会new 一个WebF. 阅读全文
posted @ 2011-04-29 00:25 GY小小鸟 阅读(749) 评论(1) 推荐(0)
摘要:ispostback,从事asp.net学习和开发的人都很熟悉,这是页面类的一个属性,用来判断页面是提交表单呢,还是首次访问的一个标记。asp.net的运行机制就是提交请求,处理请求,响应请求的过程。提交表单时:提交到服务器的表单元素一定要设置name属性(名字),id是设给Dom和jquery用的,服务只认name。 现在开发web网站,都是用aspx页面做处理页面的。现在我就来探讨一下该处理页面是如何处理的: 首先我新建一个ispostback.htm页面,如下:<form action="ispostback.ashx"> <!--提交到一般处理程序 阅读全文
posted @ 2011-04-25 10:51 GY小小鸟 阅读(3224) 评论(7) 推荐(3)
摘要:AJAX简介没有AJAX会怎样?普通的asp.net每次执行服务器端的方法时侯都需要刷新当前页面,比如要显示服务器端的时间。每次都要刷新页面的坏处:页面刷新打断用户操作,速度慢,增加服务器的流量压力。如果没有AJAX,在youku看视频的过程中如果点击了“顶”,踩,翻页,页面就会刷新,视频会被打断。 AJAX(asynchronous JavaScript and XML 一步Javascript和XML)是一种进行页面局部异步刷新的技术。用AJAX向服务器发送请求和获取服务器返回的数据并且更新到界面中,不是整个页面刷新,而是在HTML页面中使用Javascript创建XMLHTTPReque 阅读全文
posted @ 2011-04-23 16:06 GY小小鸟 阅读(505) 评论(0) 推荐(0)
摘要:Sealed英文意思是密封的。顾名思义,该关键字修饰类时,密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。 也就是说要想用sealed修饰方法,则被修饰的方法必须是改写父类的方法。sealed 跟override一起使用。这个sealed关键字跟java中的Final关键字是一样的用法。使类不能再被继承,方法不能在重写。 因为接口,抽象类是只能被继承的,所以sealed关键字不能修饰抽象类,接口。 MSDN上还有解释说结构是被隐式密封,这就是结构不能被继承的原因。public 阅读全文
posted @ 2011-04-18 18:17 GY小小鸟 阅读(1179) 评论(0) 推荐(0)
摘要:最近学习了AJAX技术。AJAX,指的是异步的Javascript和xml。它的基本原理就是页面用Javascript发送一个异步的http请求到服务器,服务器返回数据后,再用Javascript静态的去更改页面某个地方的值,而无需提交表单。之前,服务器返回的数据都是用xml的形式传给客户端的,但是xml传一个类的对象的数据会很长,流量大,所以现在都是改用json来传数据,复杂数据用json,简单数据用string。所有AJAX中的x已经失去了它原来的意义。 大家都知道JQuery,是一个Javascript的封装库,当然JQuery也实现了对AJAX的封装,这里将分页就是直接用JQuery. 阅读全文
posted @ 2011-04-18 09:57 GY小小鸟 阅读(5149) 评论(10) 推荐(4)
摘要:刚刚查了下MSDN,发现结构是由System.Object基类派生的。结构不是为继承设计的。不能从一个结构中继承,唯一的例外是结构有Object派生,因此结构可以访问Object中的方法。在结构中,甚至可以改写Object中方法----例如重写ToString()方法。结构的继承链是:System.Object--->System.ValueType--->Struct.每个结构都派生与ValueType.在我的理解来看,结构的出现,是为了提升性能,有时候仅需要一个小小的数据结构,而不需一个类,这时候就可以选择用结构来代替。就比如一个类class {public double le 阅读全文
posted @ 2011-04-17 20:43 GY小小鸟 阅读(475) 评论(2) 推荐(0)
摘要:索引器这个东东,我也是最近才接触,一般所说的索引器,是指定义在某个类里面的一个类似属性的东西。索引器是.net中新的类成员。类似与类的属性。有些人干脆称呼它为带参数的属性。索引器可以快速定位到类中某一个数组成员的单元。下面看看代码:Indexerclass indexerClass { private int[] arr=new int[100]; private string[] names=new string[100]; public int this[int index] { get { if (index < 0 || index >= 100) { return -1; 阅读全文
posted @ 2011-04-17 16:01 GY小小鸟 阅读(453) 评论(0) 推荐(1)
摘要:虽然在博客园里面已经有很多关于C#委托和事件的文章,但是为了自己在学习的过程中,加深对委托的理解,我还是决定写一下自己的心得体会。以备他日在回来复习。委托(delegate)是一个类,但是这个类在声明的时候跟普通的类有些不同。不带class 关键字等。如下:View Code static void Main(string[] args) { Test(); Console.ReadKey(); } static void SayHello(string name) { Console.WriteLine("Nice to me you "+name); } static 阅读全文
posted @ 2011-04-17 15:50 GY小小鸟 阅读(534) 评论(3) 推荐(0)
摘要:页面缓存: 给页面添加<%@ OutputCache Duration="60" VaryByParam="none"%> 标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的ASP.Net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。Duration表示缓存时间,以秒为单位,超过这个时间则缓存失效,再次生成之后会再缓存60秒,以此类推。在Page_load出设置断点,修改数据库数据后,可以测试其效果。 缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者,一次访问和一万次访问对数据库的压力都是一样的。 V 阅读全文
posted @ 2011-04-17 00:05 GY小小鸟 阅读(427) 评论(0) 推荐(0)
摘要:首先说一下什么是ViewState。 简单的说它就是ASP.NET中用来保存页面中信息以及控件值(上次返回的信息)的一种机制。客户端需要和服务器端进行交互的时候,服务器端在返回处理后的值给客户端之后,是没有保存处理后的值得。所以,有些必要的值都会保存到ViewState中。 需要在回发过程中保留的页面的当前状态的值将被序列化为Base64编码的字符串,并输出到ViewState的隐藏字段中。通过自定义的PageStatePersiste类以存储页数据。 默认情况下ASP.NET是启用ViewState的,这样在页面中会生成一大坨隐藏字段。但是,只有需要交互的页面中,也就是需要postback处 阅读全文
posted @ 2011-04-17 00:03 GY小小鸟 阅读(778) 评论(0) 推荐(0)
摘要:1.FormView控件的使用这三个控件的数据源都是用对象数据源进行操作的。所有也要先了解ObjectDataSource控件的用法哦。ObjectDataSourceObjectDataSource用来将一个类作为数据源,TypeName属性为数据源类的全名,有DeleteMethod、InsertMethod、SelectMethod、UpdateMethod等几个属性,分别为类中删除、插入、查询、更新数据的方法名,这些方法可能有参数,参数的值是通过DeleteParameters、UpdataParameters、InsertParameters等嵌套节点设置的。手工编写ObjectDa 阅读全文
posted @ 2011-04-17 00:02 GY小小鸟 阅读(3878) 评论(1) 推荐(0)
摘要:1.Repeater控件的使用创建数据源,并为Repeater控件设置数据源,然后就可以在<ItemTemplate>中设置要显示的值。数据源中有多少条数据,都会遍历出来,相当于foreach,如果需要隔行的文字显示不同的样式。就要设置<AlternatingItemTemplate>,在此属性的内容就是偶数行的内容啦,如果需要隔行显示不同样式,则偶数行的数据设置不同的样式即可。可以将偶数行的代码通过div包装一下在放到<AlternatingItem Template>中,就可以通过设置div的样式使得偶数行的数据样式不同啦。简而言之,<Altern 阅读全文
posted @ 2011-04-17 00:02 GY小小鸟 阅读(2000) 评论(2) 推荐(0)
摘要:1.ListView控件的使用Repeater一般只用来展示数据,如果要对数据进行增删改查则用ListView更方便。使用想到来使ListView自动生成很多模版,免去手写模版的麻烦,我们可以对生成的模版再进行手工的调整以满足具体需求。首先设定数据源,然后点击智能提示中的“配置ListView”,选择一种布局方式,然后根据需要选择“启用编辑”、“启用插入”、“启用分页”、就会自动的生成常用的模版。注意:这样只是提高开发的效率,而不是唯一的途径。LayoutTemplate为布局模版,布局模版中必须有一个id为itemPlaceholder的服务端控件,什么类型的控件都可以,不会被显示,只是作为 阅读全文
posted @ 2011-04-17 00:01 GY小小鸟 阅读(1961) 评论(0) 推荐(0)
摘要:注册练习:验证码的生成:publicvoidProcessRequest(HttpContextcontext){stringstr="";Randomr=newRandom();for(inti = 0; i <= 4; i++){intj=r.Next(10);str = str + j;}context.Session["YanZheng"] = str;context.Response.ContentType ="image/JPEG";using(System.Drawing.Bitmapbitmap =newSyst 阅读全文
posted @ 2011-04-17 00:00 GY小小鸟 阅读(438) 评论(0) 推荐(0)
摘要:下载图片处理T_UsersTableAdapteradapter =newT_UsersTableAdapter();vardata = adapter.GetDataById(int.Parse(context.Session["UserId"].ToString()));varuser = data.Single();if(user.Level == 1){stringPicPath ="~/img/"+filename;if(PicPath.IndexOf('.')!=6))//此处有漏洞风险,防止用户通过拼凑请求参数的方法非法下载 阅读全文
posted @ 2011-04-16 23:59 GY小小鸟 阅读(365) 评论(0) 推荐(0)
摘要:1.特殊路径标志“~”和“/”表示网站根目录(跟域名相关),../表示上级目录、./表示当前目录等Http标准定位不一样,“~”,~是ASP.NET定义的特殊符号,是ASP.NET内部定义推荐的方法,推荐资源定位都使用“~”从应用根目录开始定义。编程处理“~”,如果在服务器控件中,会自动将~进行转换,如果在html控件或者需要在代码中转换可以使用VirtualPathUtility类中的静态方法进行虚拟路径、全路径等的转换,比如VirtualPathUtility.ToAbsolute(“~/a/b.sapx”)2.Request对象Response.Write(Request.AppRela 阅读全文
posted @ 2011-04-16 23:58 GY小小鸟 阅读(425) 评论(0) 推荐(0)
摘要:HTTP协议简介1.web开发是和http协议打交道的,必须了解http协议。http协议版本:http/0.9、http/1.0、http/1.1版本http协议分析工具1.DebugBar,Http(s)标签的内容。免费的,只能分析当前浏览器中的内容。HttpWatch,收费的,也是只能分析当前浏览器的内容。推荐使用。http协议的几个概念:1.连接(connection):浏览器和服务器之间传输数据的通道,一般请求完毕就关闭,不会保持连接2.请求(Request):浏览器向服务器发送的“我要。。”的消息,包含请求的类型,请求的数据、浏览器的信息(语言、浏览器的版本等)3.相应(Respo 阅读全文
posted @ 2011-04-16 23:56 GY小小鸟 阅读(371) 评论(0) 推荐(0)
摘要:1.ASP.Net简介及学习1.什么是ASP.Net –ASP.Net是一种动态网页技术,在服务器端运行.Net代码,动态生成HTML。可以使用JavaScript、Dom在浏览器端完成很多工作。学习ASP.NET不要陷入如何使用服务器控件的误区中,我们要懂得每个控件的运行原理。不要做一个只会拖控件的“程序员”。2.webApplication和webSite的区别。WebApplication有命名空间,更改c#代码后要重新启动浏览器方能看到更改的效果。webSite则没有这个东东。webSite是由ASP带过来的程序开发习惯,但是它只适用于小型网站的开发,因为代码出错了不容易发现,而且所有 阅读全文
posted @ 2011-04-16 23:54 GY小小鸟 阅读(394) 评论(0) 推荐(0)
摘要:JavaScript课程笔记课程1 JavaScript简述.HTML只是描述网页长相的标记语言,没有计算,判断能力,如果所有计算判断都放到服务器端执行的话,网页的页面会特别慢,用起来也很难用,对服务器的压力很大,因此要求能在浏览器中执行一些简单的运算,判断。JavaScript就是一种在浏览器端执行的语言。JavaScript与Java没有直接的关系,唯一的关系就是JavaScript原名叫做LiveScript,后来吸收了Java的特性,升级为JavaScript。简称jsJavaScript是一种解释型的语言,无需编译就可以随时运行,这样哪怕语法有错误,没有语法错误的部分还是能正确运行。 阅读全文
posted @ 2011-04-16 23:53 GY小小鸟 阅读(370) 评论(0) 推荐(0)
摘要:课程一:面向对象的概念。英文缩写:OOP。面向对象只是面向过程的一个补充,而不是取代面向过程。类、对象。类是抽象的,对象是具体的。人是一个类,某一个人是“人”这个类的对象。和类相关的变量叫做字段,是类的状态。类是不占内存的,对象才占内存。方法:就是类能够执行的动作,比如问好、吃饭。类的继承:类之间可以有继承关系。比如电脑类可以从电器类继承,这样做的好处是“电脑”类,只需要定义自己特有的字段、方法就可以啦。面向对象的三个特征:封装、继承、多态。课程二:定义类。看看这个程序,基本上包含了类的定义,类的对象的声明、对象的字段的赋值等等。课程三:类的成员访问级别.在定义类的成员是,前面有一个关键字,例 阅读全文
posted @ 2011-04-16 23:51 GY小小鸟 阅读(587) 评论(0) 推荐(0)
摘要:C#课程笔记。第一课。Net的技术Windows控制台程序1.WinFrom程序:像我们想在常用的QQ等窗口程序。3. ASP.Net:开发网站程序。如WebFrom开发4嵌入式开发也可以用。Net来开发。5.WCF:通信程序如QQ。WF工作流。第二课:控制台程序Console.WriteLine("请输入一个整数:\n");//用于打印一行字符串相当于printf();strings =Console.ReadLine();//相当于scanf();用于接收字符串。inti =Convert.ToInt32(s);inti1 = i + 10;Console.WriteL 阅读全文
posted @ 2011-04-16 23:48 GY小小鸟 阅读(544) 评论(0) 推荐(0)
摘要:IIS服务的搭建1,首先我们要开启自己电脑的Internet信息服务功能。一个功能是Windows自带的,但是我们在装机的时候一般都跳过他而没有安装。添加的方法就是:开始——>设置——>控制面板——>添加或删除程序。单击窗口左边的添加/删除Windows组件,在弹出的对话框中选中Internet信息服务(IIS)选项。点击下一步,提示你用到Windows安装盘,如果有的话就放盘进去,如果没有的话,就从网络下载一个iis安装包,解压之后,安装时需要的文件就在你解压文件夹里面找,然后就安装完成了。2.组装好之后就开始设置iis了。开始——>程序——>管理工具——> 阅读全文
posted @ 2011-04-16 23:45 GY小小鸟 阅读(1250) 评论(0) 推荐(0)
摘要:最近学习了动态调用与静态调用的一些知识。哈哈。写一些心得体会。首先讲一下库函数。所谓的库函数,就是很多函数的集合,实现各种功能的函数集中起来供程序调用。这样就有利于共享与避免重复书写。一次写,多次用。 我们编程的时候也接触过很多include进来的库函数。还有就是自己在头文件中敲的很多自定义函数。这些函数是要编译进.exe文件中去的,像这样的要将函数编译进. exe文件中的这些函数库调用就叫做静态库。平时我们可能没什么感觉,觉得这样还行。但是当我们的程序够大的时候,会有很多很多的函数,就像编写qq程序一样,需要很多的 函数,如果都将其编译到exe文件中,无疑这个exe文件的体积会非常大。 怎样 阅读全文
posted @ 2011-04-16 23:43 GY小小鸟 阅读(2577) 评论(0) 推荐(0)
摘要:最小化图标到托盘 今天有兴致来这里写一些我最近的学习心得。希望和有兴趣的同学一起探讨一下。 我要写的是如何在最小化的时候将图标加到桌面的托盘区。所谓的托盘区,就是桌面右下角那个区域。有一些小图标还有时间显示的那个角落。有时候我们的程序仅仅最小化到任务栏是不够的。如一些长时间运行的像定时关机程序。我们就可以把他最小化到托盘区。这样看起来特别的爽。先讲一下基本原理:1.最小化:点击最小化按钮时。就在右下角绘一个小图标。然后将整个窗口隐藏掉。2.还原:双击小图标后,触发程序中定义的消息,将隐藏的窗口重新显示出来。再将那个小图标删掉就行啦。呵呵,很简单吧。首先来看看点击最小化按钮时触发的函数吧:我们可 阅读全文
posted @ 2011-04-16 23:41 GY小小鸟 阅读(1079) 评论(0) 推荐(0)
摘要:说明:下面文章都是居于杨中科的C语言可以干大事系列视频的。用C写一些小的桌面应用程序。主要是锻炼编程的思维。.在Windows2000一下的操作系统版本,直接就可以调用Windows自带的API,即系统关机函数。BOOL ExitWindowsEx(UINT uFlags,DWORD dwReason);uFlags的值:EWX_LOGOFF,0,注销EWX_SHUTDOWN,1,关机EWX_REBOOT,2,重启EWX_POWEROFF,8,断开电源EWX_FORCE,4,强制终止所有程序EWX_FORCEIFHUNG,16,强制终止位响应的程序后面的dwReason一般不指定,可能是历史遗 阅读全文
posted @ 2011-04-16 23:37 GY小小鸟 阅读(581) 评论(2) 推荐(0)