我遇到了一个非常奇怪的问题...

我有一个带有 page_init 和 page_load 函数的常规 ASP.Net 网页。这是我的理解(从我看到的任何地方) page_init 在第一页加载时被调用(如在回发中从未调用过)并且 page_load 在页面发生某些事情时被调用。(很难找到任何关于这除了死链接和关于页面生命周期的东西)

好吧,我有一个包含其他更新面板和其他各种控件的更新面板。每当我编辑这些控件之一时,都会发生异步回发,但不仅会调用 page_load,还会调用 page_init,这不应该发生(并且在代码库大更改之前没有发生)

所以我想知道任何可能导致这种行为的事情,或者我对如何调用页面事件的想法是错误的。

最佳答案

我认为您对页面加载生命周期有错误的认识。每个请求都会调用 OnInit 事件。在代码中使用 Page_Init 方法是连接页面 OnInit 事件的快捷方式。

现在我相信您将此与“IsPostBack”属性混淆了,如果页面回发到自身,即当您单击按钮等时,该属性将设置为 true。我猜您需要做的是在您的Page_Init 方法即

if(!IsPostBack){
//Do something to to update the UI
}

关于c# - 异步。回发导致 Page_Init? (C#),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1396781/

10-13 03:48