这几天看了“传智播客.Net培训”,把其中比较重要的关键点摘录下来,与大家一起学习。
基础学习:
1、尽量把实现写到前端,除哪些耗费时间比较长或安全性高的操作。
2、webApplication 中修改代码需要重新启动浏览器或服务器(指C#代码)!而website不用重新启动浏览器或服务器,也没有namespace。
服务器响应机制:IsPostBack
1、服务器只认name属性
2、hidden隐藏字段,看不到,但能提交给服务器
3、http是请求、响应机制的模型
4、所有表单仅提交name为key,value为内容。
5、get与post的区别:
1)form的method属性指定表单提交方式,get通过url传递值,并显示地址栏中,post隐藏http报文中。
2)get数据量有限,post没有限制。
6、请求、处理、响应;模板页面(*.htm)不是给客户看的。
7、为什么单使用div在服务器取不出值呢?因为不是服务器来读取客户的网页,而是浏览器客户在表单中输入的字段,然后形成请求参数发给服务器处理程序,由于没有把div当前的innerText发给服务器,所以服务器无法得知当前的值。也不要幻想有方法能将div的innerText提交给服务器,因为只有设定了name的input、textarea、select的value属性值才会被提交给服务器。
8、div中用隐藏字段值实现,隐藏字段,帮助记忆,并上传到服务器中。
提交数据与响应:
1、viewstate,
1)ViewState原理:说nput版本(TextBox)自增和Div版本(Label)的不同。(完美!!!)
2)Label版本的值存到了ViewState中,TextBox版本的不用存,因为TextBox就是input,自己就会提交给服务器,不需要隐藏字段。
3)禁用ViewState的方法:enableviewstate=false,
2、状态信息保存在隐藏字段中的缺点:加大网站的流量、降低访问速度、机密数据放到表单中会有数据欺骗等安全性问题。故事:自行打印存折,因为余额不是写到存折这个隐藏字段中的,唯一的关联就是卡号。要把机密数据放到服务器,并且区别不同的访问者的私密区域,那么就要一个唯一的标识。
3、服务器返回数据除了普通的html数据以外,还会返回修改的Cookie,浏览器把拿到的Cookie值更新本地浏览器的Cookie就可以。
4、互联网优化的案例:图片服务器和主站域名不一致,降低Cookie
流量的传输。
5、处理过程:IHttpHandler handler=new IntValue2(); handler.ProcessRequest(……);
6、ASP.Net已经内置了Session机制。不要放太多的对象到Session,Session会有超时销毁的机制,发帖(服务器不可能知道浏览器是否在开着,什么时候关闭),发帖计时。在线时间统计,靠请求来判断是否活着。Cookie是存在客户端,Session是存在服务器端,目的是一样的;保存和当前客户端相关的数据。不能放太大的数据,放的数据是Object类型,但取得时候要做类型转换。
IDictionary<string,IDictionary<string,object>> session
7、内存时间限制。