我有这个页面说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
之外的此功能。
答案 0 :(得分:12)
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之后你有:
答案 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
}