日期:2014-05-18 浏览次数:20436 次
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实例化的过程中去完成。