现在的位置: 首页 > 综合 > 正文

ASP.NET知己知彼之基础知识(上)

2014年03月17日 ⁄ 综合 ⁄ 共 1059字 ⁄ 字号 评论关闭

       我们常说,要打败一个敌人要先去了解它,古人亦云:知己知彼,百战不殆。那么在进入ASP.NET具体学习之前,先了解WEB程序的运行原理是非常有必要的。这有助于理解很多看似很奇怪的现象,更有利于我们运用代码做我们想做的事。在牛腩新闻系统的时候,我就因为不了解页面的生命周期而吃过暗亏,那么下面我们就进入主题。

一、运行模式图


       如图所示对于浏览器的每次请求,IIS服务器都要到硬盘中取得所请求的网页文件,在编译完成后发送到浏览器。并且,IIS服务器在编译完成后是不保留的,即无状态(这也是个知识点,这里关系不大)。当,用户再次提交该页面的时候,服务器会提取其中的信息,然后再取得网页文件结合在一起之后发送给浏览器,也就是回发。

二、页面回发

       回发页面是相对于,首次请求而言的。服务器会自动对页面是否是回发页面做一个标记,即ISPostback属性。我们可以通过这个属性来判断页面是否是回发页面,从而进行相应的处理。而服务器做此标记,也是为了区别对待用户的首次请求和后续请求。那么,用户打开某个页面时,即初次请求,而当用户点击该页面中的按钮提交时,浏览器其实对页面进行的重载,这时得到的页面就是回发页面。

三、PageLoad事件之前

       根据页面是否是回发页面,其经历的过程是有差别的。一个初始网页的生命周期大概需要经历如下阶段:1)实例化2)初始化3Pageload.而回发页面则需要在初始化之后再加上加载视图阶段和加载回发数据阶段。这里我们了解这些内容的目的是什么呢?这是由于我在处理动态加载控件的时候会出现回发后丢值,丢状态之类的问题。还需要强调:HTTP协议是无状态的,这就是web程序不同与windows程序的一个天生的问题,如果要学习asp.net的话,Page的生存周期将是你最重要的基础之一。

四、控件事件的执行顺序

       Web程序是通过提交到服务器之后去执行的代码,客户端是无法执行服务器端的代码的。所以它不能够在你对页面进行更改的时刻去执行代码,而是将你出发的事件记录下来,提交到服务器后在执行。因此,控件事件的执行顺序和你触发的先后顺序是无关的,而跟控件所处的位置有关。即控件事件的执行顺序是按照控件位置的顺序顺序执行的。

总结

       这些内容都是ASP.NET的基础知识。虽然基础,但是因为其和C/S的程序很不一样,但是不了解的话,对后续的学习势必会造成不必要的麻烦。这里的内容这么看可能不太好理解还,那么下篇博客我会给出实例和分析来加深这部分内容的理解。敬请期待……

         

抱歉!评论已关闭.