0

我想知道在其他任何事件之前触发哪个事件?在按钮单击或任何其他控件之前触发哪个事件。如果没有,我如何自己实现一些事件?我还希望它与 UpdatePanel 一起使用。Page_PreRender 在其他事件之后触发......在它们之前触发的是哪一个?提前致谢。

4

1 回答 1

0

生命周期中有几个事件Page发生在之前PreRender。值得注意的是:InitLoad和 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)
    {
    }
}

还有一些其他事件,例如LoadViewStateandSaveViewState等。您将希望了解 ASP.NET 页面生命周期。在此处查看相关答案: ASP.NET 页面生命周期说明

或者只是谷歌“asp.net 页面生命周期”

于 2013-11-10T00:04:33.650 回答