日期:2014-05-18 浏览次数:20495 次
public partial class departmentWorksList:WGBasePage
{
public Entity.DBHelper helper = new DBHelper();//随便举的个例子
protected void Page_Load(object sender, EventArgs e)
{
}
}
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实例化的过程中去完成。