首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

页面的生命周期有关问题-页面后置代码中类什么时候实例化?

2012-03-15 
页面的生命周期问题----页面后置代码中类什么时候实例化????如题,在生命周期中将执行一系列处理步骤。这些

页面的生命周期问题----页面后置代码中类什么时候实例化????
如题,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。提3个问题
1:在生命周期中类的实例化在什么时候?
2:在生命周期中该类的基类的什么时候实例化?
3:在生命周期中在该类中实例化一个其他的类在什么时候?
谢谢

C# code
public partial class departmentWorksList:WGBasePage{    public Entity.DBHelper helper = new DBHelper();//随便举的个例子    protected void Page_Load(object sender, EventArgs e)    {    }}


[解决办法]
C#中所有类的实例化都是在new之后,产生这个类的实例.只是在页面中IDE隐藏了一些基本类的实例化过程.你看不到代码.或者需要通过别的办法看代码.
基类的实例化是在子类调用new之后几乎同时找到基类并且将基类的性质传递给子类的.
[解决办法]
!!
首先是变量再执行departmentWorksList类的构造。。在开始执行构造的时候如果有基类则实例化基类,一直往上。
public Entity.DBHelper helper = new DBHelper();应该是最先实例化的,你可以断点调试下。

[解决办法]
测试一下不就知道了
C# code
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;namespace WebApplication1{    public partial class WebForm3 : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            BaseClass bc = new BaseClass(this);            ChildClass cc = new ChildClass(this);            Response.Write("Page_Load" + "<br>");        }    }    public class BaseClass    {        public BaseClass()        { }        public BaseClass(Page p)        {            p.Response.Write("BaseClass" + "<br>");        }    }    public class ChildClass : BaseClass    {        public ChildClass(Page p)        {            p.Response.Write("ChildClass" + "<br>");        }    }}
[解决办法]
1、如果类是Page或者从Page上继承下来的类,那么当这个页面被访问的时候,就是对其实例化;如果是WebControl,那么一般都是在这个WebControl所在页面cs文件的InitializeComponent里,而这个InitializeComponent方法一般又是在页面的Page_Load方法中去调用,因而如果是WebControl,那么先去实例化这个WebControl所在的页面,再去实例化这个这个页面上的WebControl。
2、实例化一个类的时候,会先去找它的基类,如果有先实例化基类。
3、如果安装你写的例子中来说,helper是在departmentWorksList实例化的过程中去完成。

热点排行