摘要: 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小小鸟 阅读(3190) 评论(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小小鸟 阅读(473) 评论(0) 推荐(0) 编辑
摘要: Sealed英文意思是密封的。顾名思义,该关键字修饰类时,密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。 也就是说要想用sealed修饰方法,则被修饰的方法必须是改写父类的方法。sealed 跟override一起使用。这个sealed关键字跟java中的Final关键字是一样的用法。使类不能再被继承,方法不能在重写。 因为接口,抽象类是只能被继承的,所以sealed关键字不能修饰抽象类,接口。 MSDN上还有解释说结构是被隐式密封,这就是结构不能被继承的原因。public 阅读全文
posted @ 2011-04-18 18:17 GY小小鸟 阅读(1088) 评论(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小小鸟 阅读(5108) 评论(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小小鸟 阅读(436) 评论(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小小鸟 阅读(416) 评论(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小小鸟 阅读(490) 评论(3) 推荐(0) 编辑
摘要: 页面缓存: 给页面添加<%@ OutputCache Duration="60" VaryByParam="none"%> 标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的ASP.Net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。Duration表示缓存时间,以秒为单位,超过这个时间则缓存失效,再次生成之后会再缓存60秒,以此类推。在Page_load出设置断点,修改数据库数据后,可以测试其效果。 缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者,一次访问和一万次访问对数据库的压力都是一样的。 V 阅读全文
posted @ 2011-04-17 00:05 GY小小鸟 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 首先说一下什么是ViewState。 简单的说它就是ASP.NET中用来保存页面中信息以及控件值(上次返回的信息)的一种机制。客户端需要和服务器端进行交互的时候,服务器端在返回处理后的值给客户端之后,是没有保存处理后的值得。所以,有些必要的值都会保存到ViewState中。 需要在回发过程中保留的页面的当前状态的值将被序列化为Base64编码的字符串,并输出到ViewState的隐藏字段中。通过自定义的PageStatePersiste类以存储页数据。 默认情况下ASP.NET是启用ViewState的,这样在页面中会生成一大坨隐藏字段。但是,只有需要交互的页面中,也就是需要postback处 阅读全文
posted @ 2011-04-17 00:03 GY小小鸟 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 1.Repeater控件的使用创建数据源,并为Repeater控件设置数据源,然后就可以在<ItemTemplate>中设置要显示的值。数据源中有多少条数据,都会遍历出来,相当于foreach,如果需要隔行的文字显示不同的样式。就要设置<AlternatingItemTemplate>,在此属性的内容就是偶数行的内容啦,如果需要隔行显示不同样式,则偶数行的数据设置不同的样式即可。可以将偶数行的代码通过div包装一下在放到<AlternatingItem Template>中,就可以通过设置div的样式使得偶数行的数据样式不同啦。简而言之,<Altern 阅读全文
posted @ 2011-04-17 00:02 GY小小鸟 阅读(1958) 评论(2) 推荐(0) 编辑