.NET 之ViewState的本质】的更多相关文章

ViewState是如何实现这些功能. 以名值对的方式来存控件的值,和Hashtable的结构类似: 跟踪那些ViewState中出现改变的值,以便对这些脏数据(dirty)进行进一步的处理: 通过序列化将ViewState中的值保存在页面的隐藏域(Hidden Field)中(这是默认的持久化方式),并通过反序列化得到对应的ViewState对象以便进行相应的操作: 在页面回传的过程中自动的存储ViewState中的跟踪的值. 什么是ViewState不能做的? 自动保存一个类中变量的状态,无…
function __doPostBack(eventTarget, eventArgument)的eventTarget参数是引起回送的控件的ID,eventArgument参数是回调参数(与控件相关的附加数据). 当如果是删除时,eventArgument参数是Delete开头:当如果是插入时,eventArgument参数是Insert开头:当如果是编辑时,eventArgument参数是Edit开头:当如果是选择时,eventArgument参数是Select开头. 客户端触发事件后调用…
关于这个的另一篇博客:http://www.cnblogs.com/Silicon-Fado/archive/2009/04/21/1440437.html __VIEWSTATE:页面状态信息在客户端的存储(ViewState中存储的信息, EnableViewState="true"的控件状态信息).__EVENTTARGET:页面回传触发事件 页面回传触发事件: __doPostBack('Button2','')表示调用按钮Button2在后端的所对应的单击事件 控件回传触发事…
开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再对曾经很流行的ASP.Net AJAX方案中的利器—UpdatePanel这个神奇的区域一探究竟. 一.隐藏的状态—ViewState探秘 1.1 从Http的无状态说起 Http是一个无状态协议,同一个会话的连续两个请求互相不了解,它们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信…
atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx 1.1. 版本历史2 2. 设计模式是什么2 2.1. 模式就是在一种场合下对某个问题的一个解决方案."2 2.2. 模式只是行话.规则.编程技巧.数据结构--"2 3. 设计模式的优点3 3.1. 知识固化 知识沉淀 精华沉淀,最佳实践固化 文档固化3 3.2. 复用解决方案--通过复用已经公认的设计,我能够在解决问题时取得先发优势,而且避免重蹈前人覆辙3 3.3. 大部分情况下可以提升可…
Application Application对象的作用范围是整个全局,也就是说对所有用户都有效.它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量. 可能有人会问,既然所有用户都可以使用application变量,那他可以用在什么场合呢?这里举个例子:网站访问数.多个请求访问时都可以对它进行操作. 优点:1.使用简单,消耗较少的服务器资源. 2.不仅能传递…
前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 0x01    跨站脚本攻击漏洞(XSS),是客户端脚本安全中的头号大敌,owasp top10 屡居榜首,由于攻击手法较多,开发者水平不一,危害性又往往被人忽视,这就造成了xss普遍的存在. 0x02    xss漏洞本质还是注入攻击的一种,为什么叫跨站脚本攻击,跨站就是不同站之间,脚本攻击呢这里的脚本其实是js脚本,所以只要是js能干的事情,xss攻击也就能干,危害主要是会话劫持,钓鱼攻击,获取用户浏览器信息,网页蠕虫,甚至是命令执…
内置对象: 1.Request - 获取请求对象 用法:接收传值 protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = Request["abc"]; } 2.Response - 相应请求对象 用法:(李献策lxc) 1.执行代码 //点击按钮执行代码 void Button1_Click(object sender, EventArgs e) { Response.Write("<…
前言 Hello 大家好,我是尾巴,从今天开始,在这里连载<从产品角度学EXCEL>的系列文章.本文不接受无授权转载,如需转载,请先联系我,非常感谢. 与世面上的大部分EXCEL教程不同的是,我们并不会太多关注于介绍EXCEL各个功能的细节,譬如表格怎么搭建.EXCEL有什么函数等等.这些知识点在各个教程里随处可见,各位只要有心,就可以很容易的找到. 相反,这系列的文章会更多关注于EXCEL这个产品,关注EXCEL的本质. 我们会尝试从一个产品设计,或者一个编程人员的角度来解剖EXCEL的内在…
Application对象 存储 Application 变量  Application["application名称"] = "application的值"; 取回 Application 变量 string str = Application["application名称"]; 常用的属性和方法 All 返回全部的Application对象变量到一个对象数组   AllKeys 返回全部的Application对象变量到一个字符串数组   C…
这些对象都是用来保存信息的,包括用户信息,传递值的信息,全局信息等等.他们之间的区别: 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成.尽管使用Application.Lock和Applicaiton.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产…
Application: 全局公共变量组 存放位置:服务器 特点:所有访问用户都是访问同一个变量,但只要服务器不停机,变量一直存在于服务器的内存中,不要使用循环大量的创建Application对象,可能会造 成服务器崩溃. 生命周期:永久,只要服务器不停机 使用方法:与Session一样 ViewState: 用于记录页面的一些状态,就像人的病例,比如当执行提交后,网页可以保留一些已经输入的文本框而非清空 webform中微软已经给我们做好了这个对象,自带此功能. webform中一共6个内置对…
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是处理过的值,直接拿来用就可以了. 现在转入了BS软件开发,我们很自然地会沿用这种习惯.如在页面中统计某个按钮被按下的次数,先在类中OnClick事件的处理过程前定义一static变量times,则每次调用该按钮的OnClick事件时,令times增1即可,非常方便: [C#]: ... ; ...…
一.问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题 1.socket与进程的关系 1).socket与进程间的关系:socket   用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数. 2).进程间通信(本机内) 进程间通信(不同计算机,要联网) 2.socket与文件的关系——如何理解socket是种特殊的I/O? 1)Socket最先应用于Unix操作系统,如果了解Unix系统的I/O的话,就很容易了解Socket了,…
名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到他小时后的故事.他的父亲经常带他到外面散步,给他讲很多有趣的故事.他受到启发,后来成为了一名科学家.有一次,他们走到一个地方看见一只鸟.父亲说…… “See that bird? It’s a Spencer’s warbler. (I knew he didn’t know the real name.)…
Application:所有的会话共享一个Application空间,任何一个人改变Application的内容,其他人都会发现被改变了.Application中的内容不会被自动释放 存放位置:服务端所有的访问用户都是访问的同一个变量 (1)用Application存值:Application["key名"] = 值; 值,不只是个字符串,可以是对象. string s = TextBox1.Text; Application["aaa"] = s; (2)用App…
在上一篇文章<Javascript本质第一篇:核心概念>中,对Javascript执行上下文做了解释,但是这些都是基于Javascript标准中对执行上下文的定义,也就是说理论上的东西,本文将在Google Chrome中通过实际代码来展示Javascript的执行上下文. 1. Javascritp运行时内存监控 Google Chrome的开发人员工具包含了Javascript性能监控工具,通过这个工具可以查看Javascript运行时内存占用情况.监控CPU消耗.查找内存泄漏等. F12…
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理解Javascript的时候,长期使用这些编程语言造成的思维定势却给使用Javascript带来误导.作者在学习Javascript的时候曾陷入了这个误区,希望通过这篇文章让新学者避免走这个弯路,迅速正确地掌握Javascript. 1. 要点 在面对Javascript时,要牢记以下几点: 1.1…
Atitit 设计模式的本质思考] 1. 世界就是有模式构建的1 1.1. 多次模式与偶然模式1 1.2. 模式就是在一种场合下对某个问题的一个解决方案."1 1.3. 模式需要三样东西. 必须涉及再现.教学以及命名1 1.4. 模式只是行话.规则.编程技巧.数据结构--"2 1.5. "模式可以保证可复用的软件.更高的生产率.世界和平,等等."2 1.6. 共同的宗旨:将来之不易的专家经验.最佳实践,甚至是竞争优势--多年亲身实践所积累的经验硕果--不仅展露出来而…
Atitit 深入理解软件的本质 attilax总结 软件三原则"三次原则"是DRY原则和YAGNI原则的折 1.1.1. 软件的本质:抽象  1 1.2. 软件开发的过程就是不断抽象的过程 1)机器语言--> 汇编语言-->高级语言,这就是一个不断抽象的过程,1 1.3. 代码的抽象三原则_软件工程_酷勤网.htm1 1.4. "软件是存储.通信.UI(user interface)和业务逻辑的紧密结合体2 1.5. 在软件的生命周期中,较稳定的是存储和通信,最…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.何为栅格数据,何为矢量数据? 在GIS中,对于数据格式的分类,我们一般会将其分为栅格数据和矢量数据两种类型.栅格数据是将空间看做离散的像元,由二维数组或者其他数据组织方式来进行表达.矢量数据恰恰相反,它将空间看成是连续的,用要素(点.线.面)来进行表达. 我们把栅格数据和矢量数据的特点归纳如下: (1)栅格数据是离散的,矢量数据是连续的.所以栅格数据多用二维数组(…
一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器.2.方法(1)Redirect用法:Response.Redirect("url")作用是在服务器端重定向于另一个网页(2)Write功能:向客户端发送浏览器能够处理…
FileResult是一个基于文件的ActionResult,利用FileResult我们可以很容易地将从某个物理文件的内容响应给客户端.ASP.NET MVC定义了三个具体的FileResult,分别是FileContentResult.FilePathResult和FileStreamResult.在这篇文章中我们将探讨三种具体的FileResult是如何将文件内容对请求进行响应的. 一.FileResult 如下面的代码片断所示,FileResult具有一个表示媒体类型的只读属性Conte…
一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n") client.send("Hello, Seven") def main(): sock = socket.socket(…
如何设置:工具栏“生成”→“配置管理器”→“活动解决方案配置” 对于VS2008的初次使用者来说,常会遇到的编译问题时,Debug版本运行正常,但在Release版本则不稳定或无法运行.以下是对Debug版本与Release版本本质区别的分析: Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用. Debug 和 Release 的真正秘密,在于一组…
一.一些概念 线性相关:其中一个向量可以由其他向量线性表出. 线性无关:其中一个向量不可以由其他向量线性表出,或者另一种说法是找不到一个X不等于0,能够使得AX=0.如果对于一个矩阵A来说它的列是线性无关的,则AX=0,只有0解,此时矩阵A可逆. 秩:线性无关向量个数. 基: 特征向量:向量X经过矩阵A旋转后,与原来的X共线,.即为特征值,表示向量的伸缩.如果把矩阵看成进行线性变化的矩阵(旋转,拉伸),那么特征向量就是这样一种向量,它经过这种特定的变换后保持方向不变,只是进行长度上的伸缩而已.反…
昨天偶然看到网上有人讨论究竟是该用viewstate还是session来保存信息. 忽然觉得有必要去深入的研究一下这两个东东了,我们先来看深入分析一下viewstate, 为了分析的相对完整性,先从简单的说起: 在asp时代, 大家都知道一个html控件的值,比如input 控件值,当我们把表单提交到服务器后, 页面再刷新回来的时候, input里面的数据已经被清空. 这是因为web的无状态性导致的, 服务端每次把html输出到客户端后就不再于客户端有联系. asp.net巧妙的改变了这一点.…
转自:http://blog.csdn.net/huqinwei987/article/details/23597091 有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新. 1.联合体union的基本特性——和struct的同与不同 union,中文名“联合体.共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量. 不过区别也挺明显: 结构体(struct)中所有变量是“…
Application(全局对象) Application对象生存期和Web应用程序生存期一样长,生存期从Web应用程序网页被访问开始,HttpApplication类对象Application被自动创建,直到没有一个网页被访问时结束,Application对象被自动撤销.因此Application对象中的变量也有相同生存期,并且变量可以被Web应用程序中的所有网页访问.因此,可以在Application对象中建立一些全局的公用变量,由于存储在Application对象中的数值可以被应用程序的所…
让代码书写更加简便 --1-- 设置器和访问器 1.1 setter 1.2 getter --2-- 类的本质 2.1 类类型的对象 2.2 类的本质 2.3 如何获取类对象 2.4 类对象的使用 2.5 类对象的存储 --3-- SEL类型 3.1 SEL --4-- @property关键字 4.1 基本概念 4.2 @property用法 4.3 @property使用注意事项 --5-- @synthesize关键字 5.1 @synthesize用法 5.2 @synthesize使…