gpt4 book ai didi

.net - 从内联代码调用原始 Page_Load 函数

转载 作者:行者123 更新时间:2023-12-04 06:09:28 25 4
gpt4 key购买 nike

我喜欢给 ASPX 网站打补丁,这样我就可以在编译的程序集中向 Page_Load 方法添加内容。

我的第一个想法是向 ASPX 文件添加一个包含第二个 Page_Load 方法的脚本标记,如下所示:

<script language="CS" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
// do some stuff in addition to the original Page_Load method
}
</script>

但看起来只有来自内联代码的 Page_Load 方法会被执行,而不是来自原始代码隐藏文件(在编译的程序集中)的方法。

是否可以从我的内联代码中调用原始方法?或者有没有其他方法可以添加应该在从内联代码中调用 Page_Load 方法之后直接运行的内容而不修改现有程序集?

最佳答案

asp.net 模型是在 .aspx 文件中声明的页面实际上是继承自 System.Web.UI.Page 的类的后代类。在 .aspx.cs 文件中声明。

所以你的 Page_Load 方法被调用,因为它基本上隐藏了原来的 Page_Load 方法。按照这个逻辑,你可以这样做:

<script language="CS" runat="server"> 
void Page_Load(object sender, System.EventArgs e)
{
base.Page_Load(sender, e);
// do some stuff in addition to the original Page_Load method
}
</script>

没有可访问性问题,因为 asp.net 默认声明 Page_Load 和类似的方法为 protected所以后代类可以调用它们。

关于.net - 从内联代码调用原始 Page_Load 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612420/

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