我想知道哪个事件在其他任何事件之前被触发?哪个事件在Button Click或任何其他控件之前触发。如果没有,我怎么能自己实施一些活动?我也希望它与UpdatePanel一起使用。 Page_PreRender会在其他事件发生后触发......哪一个事件在它们之前发射? 提前谢谢。
答案 0 :(得分:0)
Page
生命周期中有几个事件发生在PreRender
之前。值得注意的是:Init
,Load
和Postback事件处理程序。
您能更具体地了解自己想做什么吗?我建议使用Page_Load
在每次加载时执行某些操作。这将允许您准备要呈现的页面的数据。
您可以初始化数据的第一个地方是基类或Page
的构造函数。以下是Page
中使用的一种模式,例如(c#):
public class MemberInfo : System.Web.UI.Page
{
// member variables
private string memberId;
// UI members defined in .aspx,.ascx,etc. file
protected System.Web.UI.WebControls.CheckBox checkboxPremiumMember;
// default constructor
public MemberInfo()
{
// step 1: initialize data
memberId = null;
}
// event handlers
protected void Page_Init(object sender, EventArgs e)
{
// step 2: initialize page controls and event handlers
checkboxPremiumMember.Visible = false;
}
protected void Page_Load(object sender, EventArgs e)
{
// step 3: load data, populate controls, databinding stuff..
memberId = Request.QueryString["memberId"];
bool authenticated = AuthenticateMemberId(memberId);
if (authenticated)
{
checkboxPremiumMember.Visible = true;
}
else
{
Response.Redirect("AccessDenied.aspx");
}
}
// step 4: postback event handlers (if any)
protected void checkboxPremiumMember_OnCheckChanged(object sender, EventArgs e)
{
}
// step 5: PreRender
protected void Page_PreRender(object sender, EventArgs e)
{
}
// step 6: Render
protected void Page_Render(object sender, EventArgs e)
{
}
}
还有其他一些事件,例如LoadViewState
和SaveViewState
等。您将需要了解ASP.NET页面生命周期。在这里查看相关答案:
ASP.NET page life cycle explanation
或只是谷歌“asp.net页面生命周期”