其实和winform的事件触发原理基本相同

解决方案 »

  1.   

    无论你如何,只要是刷新了aspx或者载入这个页面,.cs中的  Page_Load都会执行一次。当然全局变量都会重新初始化。
    如果你通过某个web表单控件或html控件得服务器端事件的触发重新刷新表单得话,它执行完了page_load后还会执行改事件触发的程序。这个程序与事件触发的绑定是在名为 InitializeComponent 的方法中完成的;
      

  2.   

    不是全部执行一次,
    PageLoad跟踪一下就知道执行了些什么代码了,
      

  3.   

    你所写的kscs.aspx.cs文件中包含一个从page继承来的类,这个类实际上是一个抽象类(abstract)
    ,不信的话你可以在你的类声明中加入public abstract class ??:Page,试着编译运行一下,没有问题的。我想MS之所以不要求做abstract声明可能是不想让程序员发生混淆吧:)那么,这个类将被编译为一个dll保存在硬盘的一个位置,好像叫什么temp aspfiles的目录里。实际上当客户端发出对该页面的请求时,iis中的asp.net执行进程(我不知道这个应该叫什么,自己随便说的:)会找到该dll,并以它为基类在内存中生成一个dll,客户端获得的页面就来自这个内存中的dll,我想它会被iis缓存,不可能调用一次生成一次。你可以到MS网站上去找code-behind机制的文章,我看过,不过忘了:)
      

  4.   

    全部执行有点不标准,不过可以这样说,因为web是无状态的。准确点的话如sub function 这些是条件判断执行的。