• λ我爱Aspx >> Asp.Net >> ASP.NET 页面对象模型
  • ASP.NET 页面对象模型

  • :未知  Դ:internet  :2007-5-20 16:43:57  ؼ:.net,asp.net,asp
  • 各个阶段的执行

    页面生命周期的第一阶段是初始化。这个阶段被Init事件所描述,这个事件在控件树被构建出来后执行。换句话说,当Init事件发生时,所有在.aspx文件中静态声明的控件被实例化并被赋予了默认值。在Init事件中可以初始化任何的在页面生命周期里需要的设置。例如:在这个阶段,控件可以加载外部的摸版文件或者是为事件建立处理句柄。需要注意的是,任何的视图状态信息在这个阶段里是不能用的。

    紧接着初始化结束后,页面构架为页面加载视图状态。视图状态是 名称/值 对的集合,控件或页面在这里保存的数据在整个web请求过程中必须是稳固的。视图状态代表着页面的上下文。典型的,它保存着页面上次在服务器上被执行时控件的状态。视图状态在会话开始的第一个页面请求时是空的。在默认情况下,试图状态被保存在一个隐藏域里,这个隐藏域是被自动添加到页面里的。这个隐藏域的名称是 __VIEWSTATE。如果覆盖了LoadViewState方法——在Control类里被声明为受保护的方法——组件开发者可以控制视图状态的保存和它是如何和内部状态形成映射。

    象LoadPageStateFormPersistenceMedium这样的方法和与其相对应的SavePageStateToPersistenceMedium方法可以用来加载或者保存视图状态到其他的存储中介里,例如:会话、数据库或者是服务器上的文件。和LoadViewState方法不相同的是,上面提到的方法只能在Page的继承类里使用。

    一旦视图状态加载完毕了,页面里的控件被赋予了和上一次发送到浏览器时一样的状态。下一个阶段是将他们更新,使之与服务器端发生的变化相一致。在回传数据处理阶段,控件更新他们的状态,使之和客户端的HTML元素的状态相一致。例如,服务器控件TextBox有和它相对应的HTML控件<input type=text>。在回传数据阶段,TextBox控件将得到<input>标签的值,并且用他来更新他的内部状态。每一个控件都可以从回传数据中取得自己数据的能力,并且把自己的状态更新。TextBox控件将更新它的Text属性,同样的,CheckBox控件也会将他们的Checked属性刷新。服务器控件和HTML元素的匹配是通过两者的ID来进行的。

    Ҷƪл˵?
  • һƪDataBinder.Eval用法范例
    һƪAsp.net 中服务端控件事件是如何触发的