页面基类的问题
在asp.net 2.0中,现在我有这样一个需求, 我要所有的asp.net 2.0页面,写一个自定义的基类(继承自System.Web.UI.Page),类如下:
public class BasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new EventHandler(BasePage_Load);
this.Error += new EventHandler(BasePage_Error);
}
void BasePage_Load(object sender, EventArgs e)
{
// 我想执行的代码
}
void BasePage_Error(object sender, EventArgs e)
{
// 我想执行的代码
}
}
然后再让所有的页面继承自 BasePage 如:
public partial class _Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
这样所有的类就会执行基类中,我想执行的代码....
但是编译时却通不过,请问这个基类在asp.net 2.0 中怎样写(在1.x中是可以通过的)
谢谢!
问题点数:20、回复次数:6Top
1 楼vivianfdlpw()回复于 2006-03-17 14:21:15 得分 10
我这里测试可以的亚,你那里报什么错误?Top
2 楼license(序列号)回复于 2006-03-17 14:27:05 得分 0
lookTop
3 楼onlie(夕雨晨风)回复于 2006-03-18 09:39:47 得分 0
很奇怪,听楼上这位仁兄说后,我又换了一台机器,成功了.呵呵.....
假设:
public class BasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new EventHandler(BasePage_Load);
this.Error += new EventHandler(BasePage_Error);
}
void BasePage_Load(object sender, EventArgs e)
{
// 我想执行的代码
Response.Write("BasePage<br />");
}
void BasePage_Error(object sender, EventArgs e)
{
// 我想执行的代码
}
}
然后再让所有的页面继承自 BasePage 如:
public partial class _Default : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("ChildPage<br />");
}
}
调试后,输出顺序为
ChildPage
BasePage
但我想让BasePage中的BasePage_Load在_Default中的Page_Load之前执行,
也就是输出顺序为
BasePage
ChildPage
请问如何实现...谢谢
Top
4 楼onlie(夕雨晨风)回复于 2006-03-18 09:42:06 得分 0
asp.net 1.X中是可以的,只要重写子类的OnInit 方法就行了,但在asp.net 2.0 中我就不知道怎么办了,请指点.Top
5 楼vivianfdlpw()回复于 2006-03-18 09:51:51 得分 10
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Response.Write("ChildPage<br />");
}Top
6 楼pbwf(书生)回复于 2006-03-18 10:25:10 得分 0
学习一下.Top




