ASP.NET生命周期中哪个方法只调用一次?在回发期间不会被触发

时间:2009-09-01 06:52:33

标签: asp.net

我们可以避免使用

如果(!Postback){.....代码运行一次....}

<_>在Page_load()

6 个答案:

答案 0 :(得分:5)

我对ASP.NET事件并不是特别“热”,但你不认为是否有比通常的“if (!Postback)”更好的方法(在普通的ASP.NET模型中),每个人都已经在使用它了吗?

我怀疑可能有一些狡猾的方法来避免它,但只是作为“聪明”的代码,这将使其难以维护。

单个if声明并不完全可怕......

(当然,我不是ASP.NET模型的忠实粉丝,但是如果你已经在这个模型中,那么还有更糟糕的事情需要解决。)

答案 1 :(得分:1)

这个只被召唤一次:

 protected void Application_Start()

Google“global.asax”了解更多信息。

答案 2 :(得分:0)

如果您希望在后续回发中不发生该事件,则必须在

中编写代码
if ( !IsPostBack )
{
} 

答案 3 :(得分:0)

不,你不能,因为网络是无状态的,因此每次请求时都需要加载每个ASP.NET页面。

答案 4 :(得分:0)

没有这样的事件/方法可以在运行一次的页面生命周期中连接代码。每次页面实例都经过相同的步骤。那是模型。

答案 5 :(得分:0)

没有一个事件只被调用一次。在ASP.NET MVC中,您可以使用AcceptVerbs属性区分GET和POST,但这类似于IsPostBack,查看Request对象。

在加载任何ViewState之前调用

Init,这样可能会有所帮助,只有在加载ViewState时才会调用LoadViewState方法。

这是上述链接的简化:

  

OnInit:1
  LoadViewState:2
  CreateChildControls:3
  OnLoad:4
  ShowButton:5
  OnPreRender:6
  渲染:7
  OnUnload:8

第3号可以在链中的任何一点发生。