随笔分类 -  ASP.NET

摘要: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小小鸟 阅读(3297) 评论(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小小鸟 阅读(722) 评论(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小小鸟 阅读(3216) 评论(7) 推荐(3)
摘要:页面缓存: 给页面添加<%@ OutputCache Duration="60" VaryByParam="none"%> 标签就可以启用页面缓存,这样整个页面的内容都会被缓存,页面中的ASP.Net代码、数据源在缓存期间都不会被运行,而是直接输出缓存的页面内容。Duration表示缓存时间,以秒为单位,超过这个时间则缓存失效,再次生成之后会再缓存60秒,以此类推。在Page_load出设置断点,修改数据库数据后,可以测试其效果。 缓存是针对所有这个页面的访问者。这样1个访问者和1万个访问者,一次访问和一万次访问对数据库的压力都是一样的。 V 阅读全文
posted @ 2011-04-17 00:05 GY小小鸟 阅读(414) 评论(0) 推荐(0)
摘要:首先说一下什么是ViewState。 简单的说它就是ASP.NET中用来保存页面中信息以及控件值(上次返回的信息)的一种机制。客户端需要和服务器端进行交互的时候,服务器端在返回处理后的值给客户端之后,是没有保存处理后的值得。所以,有些必要的值都会保存到ViewState中。 需要在回发过程中保留的页面的当前状态的值将被序列化为Base64编码的字符串,并输出到ViewState的隐藏字段中。通过自定义的PageStatePersiste类以存储页数据。 默认情况下ASP.NET是启用ViewState的,这样在页面中会生成一大坨隐藏字段。但是,只有需要交互的页面中,也就是需要postback处 阅读全文
posted @ 2011-04-17 00:03 GY小小鸟 阅读(768) 评论(0) 推荐(0)
摘要:1.Repeater控件的使用创建数据源,并为Repeater控件设置数据源,然后就可以在<ItemTemplate>中设置要显示的值。数据源中有多少条数据,都会遍历出来,相当于foreach,如果需要隔行的文字显示不同的样式。就要设置<AlternatingItemTemplate>,在此属性的内容就是偶数行的内容啦,如果需要隔行显示不同样式,则偶数行的数据设置不同的样式即可。可以将偶数行的代码通过div包装一下在放到<AlternatingItem Template>中,就可以通过设置div的样式使得偶数行的数据样式不同啦。简而言之,<Altern 阅读全文
posted @ 2011-04-17 00:02 GY小小鸟 阅读(1989) 评论(2) 推荐(0)
摘要:1.FormView控件的使用这三个控件的数据源都是用对象数据源进行操作的。所有也要先了解ObjectDataSource控件的用法哦。ObjectDataSourceObjectDataSource用来将一个类作为数据源,TypeName属性为数据源类的全名,有DeleteMethod、InsertMethod、SelectMethod、UpdateMethod等几个属性,分别为类中删除、插入、查询、更新数据的方法名,这些方法可能有参数,参数的值是通过DeleteParameters、UpdataParameters、InsertParameters等嵌套节点设置的。手工编写ObjectDa 阅读全文
posted @ 2011-04-17 00:02 GY小小鸟 阅读(3858) 评论(1) 推荐(0)
摘要:1.ListView控件的使用Repeater一般只用来展示数据,如果要对数据进行增删改查则用ListView更方便。使用想到来使ListView自动生成很多模版,免去手写模版的麻烦,我们可以对生成的模版再进行手工的调整以满足具体需求。首先设定数据源,然后点击智能提示中的“配置ListView”,选择一种布局方式,然后根据需要选择“启用编辑”、“启用插入”、“启用分页”、就会自动的生成常用的模版。注意:这样只是提高开发的效率,而不是唯一的途径。LayoutTemplate为布局模版,布局模版中必须有一个id为itemPlaceholder的服务端控件,什么类型的控件都可以,不会被显示,只是作为 阅读全文
posted @ 2011-04-17 00:01 GY小小鸟 阅读(1946) 评论(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小小鸟 阅读(430) 评论(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小小鸟 阅读(348) 评论(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小小鸟 阅读(406) 评论(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小小鸟 阅读(352) 评论(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小小鸟 阅读(377) 评论(0) 推荐(0)