ASP.Net - 每次单击按钮时都会调用 Page_Load 和 Page_Init?

发布于 2024-12-05 10:44:09 字数 379 浏览 1 评论 0原文

所以我的代码中完全没有逻辑。 我有两种方法 Page_Init & Page_Load

每次单击按钮时都会调用这两个方法。 调用 Page_load 是有意义的。但是为什么每次都会调用Page_Init呢?

protected void Page_Init(Object sender, EventArgs e)
{

}

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click1(object sender, EventArgs e)
{
    // Do something here
}

So I have absolutely no logic in my code.
I have the two methods Page_Init & Page_Load

Both methods get called every time I click the button.
It makes sense for Page_load to get called. But why does Page_Init get called every time?

protected void Page_Init(Object sender, EventArgs e)
{

}

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click1(object sender, EventArgs e)
{
    // Do something here
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

胡大本事 2024-12-12 10:44:09

我猜你不知道页面生命周期。

Page_Init 将始终在页面创建时被调用,并且在页面加载之前被调用。

几乎每次发生回发时,都会调用 Pre Init,然后调用 Init,然后调用 Pre Load,然后调用 Load,然后调用 Pre Render,然后调用 Render。

如果您不在实时服务器上,您可以执行此技巧。添加

Trace ="true"

页面指令,将显示完整的页面周期。

像这样,

   <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" 
    Inherits="_Default" Trace="true"%>

I guess you are unaware of Page Life Cycle.

Page_Init will always be called on page creation and it is called before Page Load.

Pre Init is called then Init is called and then Pre Load and then Load and then Pre Render and then Render on almost every time postback happens.

You can do this trick if you are not on live server. Add

Trace ="true"

in Page directive that will show you complete page cycle.

Like this,

   <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" 
    Inherits="_Default" Trace="true"%>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文