是否可以在Page_Load事件后调用函数?

时间:2014-07-15 08:39:55

标签: c# asp.net

我有这个页面说test.aspx.Its codebehind就像下面的代码。

protected void Page_Load(object sender, EventArgs e)
{

}

public void display()
{
   // some block statements
}

由于函数display()Page_Load之外,因此永远不会调用它。怎么做 我在Page_Load之后调用了这个函数。

注意:我需要Page_Load之外的此功能。

3 个答案:

答案 0 :(得分:12)

使用Page.LoadComplete

protected void Page_LoadComplete(object sender, EventArgs e)
{
    display();
}

答案 1 :(得分:2)

protected void Page_Load(object sender, EventArgs e) 
{
    //call your function
    display(); 
}

protected void Page_PreRender(object sender, EventArgs e) 
{
    //call your function even later in the page life cycle
    display(); 
}

public void display()
{
  // some block statements
}

以下是讨论各种页面生命周期方法的文档:http://msdn.microsoft.com/en-us/library/ms178472(v=vs.90).aspx

在Page_Load之后你有:

  • 的PreRender
  • 渲染
  • 卸载

答案 2 :(得分:1)

如果您只想在加载时加载该功能,请执行此操作

protected void Page_Load(object sender, EventArgs e)
{
    if(!isPostBack)
    {
        display();
    }

}

public void display()
{
   // some block statements
}

因为这只会加载一次。但如果你想在每个帖子上加载它,那么就这样做

protected void Page_Load(object sender, EventArgs e)
{
    if(!isPostBack)
    {}
    dispplay();
}

public void display()
{
   // some block statements
}

有一个名为Page_LoadComplete的默认事件,它将在页面完全加载时执行 但是,如果您在Page_Load事件中编写代码,代码将执行,您的控件将在那里访问 所以最好像第一次回发一样在page_load中调用一次;)

但是,如果您想继续加载页面,请转到Page_LoadComplete

  protected void Page_LoadComplete(object sender, EventArgs e)
    {
        display();
    }


 public void display()
    {
       // some block statements
    }