gpt4 book ai didi

c# - 如何在页面基类中执行Page_Load()?

转载 作者:IT王子 更新时间:2023-10-29 04:10:40 26 4
gpt4 key购买 nike

我有以下 PerformanceFactsheet.aspx.cs 页面类

public partial class PerformanceFactsheet : FactsheetBase
{
protected void Page_Load(object sender, EventArgs e)
{
// do stuff with the data extracted in FactsheetBase
divPerformance.Controls.Add(this.Data);
}
}

其中 FactsheetBase 定义为

public class FactsheetBase : System.Web.UI.Page
{
public MyPageData Data { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// get data that's common to all implementors of FactsheetBase
// and store the values in FactsheetBase's properties
this.Data = ExtractPageData(Request.QueryString["data"]);
}
}

问题是 FactsheetBase 的 Page_Load 没有执行。

谁能告诉我我做错了什么?有没有更好的方法来获得我想要的结果?

谢谢

最佳答案

我们遇到了类似的问题,您只需在构造函数中注册处理程序即可。 :)

public class FactsheetBase : System.Web.UI.Page 
{

public FactsheetBase()
{
this.Load += new EventHandler(this.Page_Load);
}

public MyPageData Data { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
// get data that's common to all implementors of FactsheetBase
// and store the values in FactsheetBase's properties
this.Data = ExtractPageData(Request.QueryString["data"]);
}
}

另一种方法是覆盖 OnLoad(),这是不太受欢迎的。

public class FactsheetBase : System.Web.UI.Page 
{

public FactsheetBase()
{
}

public MyPageData Data { get; set; }
protected override void OnLoad(EventArgs e)
{
//your code
// get data that's common to all implementors of FactsheetBase
// and store the values in FactsheetBase's properties
this.Data = ExtractPageData(Request.QueryString["data"]);

base.OnLoad(e);
}
}

关于c# - 如何在页面基类中执行Page_Load()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2737092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com