现在的位置: 首页 > 综合 > 正文

OnPreInit,OnInit ,OnInitComplete ,OnPreLoad ,Page_Load等执行顺序

2013年02月03日 ⁄ 综合 ⁄ 共 2887字 ⁄ 字号 评论关闭

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default5 : System.Web.UI.Page
{
    static int count = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(count + "Page_Load <br />");
        count++;
    }
    protected override void OnPreInit(EventArgs e)
    {
        base.OnPreInit(e);
        Response.Write(count + "OnPreInit <br />");
        count++;
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        Response.Write(count + "OnInit <br />");
        count++;
    }
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        Response.Write(count + "OnLoad <br />");
        count++;
    }
    protected override void OnPreLoad(EventArgs e)
    {
        base.OnPreLoad(e);
        Response.Write(count + "OnPreLoad <br />");
        count++;
    }
    protected override void OnLoadComplete(EventArgs e)
    {
        base.OnLoadComplete(e);
        Response.Write(count + "OnLoadComplete <br />");
        count++;
    }
    protected override void OnInitComplete(EventArgs e)
    {
        base.OnInitComplete(e);
        Response.Write(count + "OnInitComplete <br />");
        count++;
    }
    protected override void OnUnload(EventArgs e)
    {
        base.OnUnload(e);
    }
    protected override void OnDataBinding(EventArgs e)
    {
        base.OnDataBinding(e);
        Response.Write(count + "OnDataBinding <br />");
        count++;
    }
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        Response.Write(count + "OnPreRender <br />");
        count++;
    }
    protected void btnGraphics_Click(object sender, EventArgs e)
    {
        //Bitmap bmp = new Bitmap(10, 10);
        //Graphics g = Graphics.FromImage(bmp);
        Response.Write(count + "btnGraphics_Click <br />");
        count++;
    }

}

结果为:

0OnPreInit
1OnInit
2OnInitComplete
3OnPreLoad
4Page_Load
5OnLoad
6OnLoadComplete
7OnPreRender

*session失效或者超时的跳转(站长后台)

判断页面(每个页面调用)

protected override void OnPreInit(EventArgs e)
    {
        new Users().GetUserInfoCookie(out _mywebhostid, out _myuserid);
        if (_myuserid == string.Empty || _mywebhostid == 0)
        {
            Response.Redirect("~/login.aspx?reurl=" + HttpUtility.UrlEncode(Request.Url.AbsoluteUri));
        }
        else
        {
            new Users().GetUserInfoCookie(out _mywebhostid, out _myuserid);
        }
        base.OnPreInit(e);
    }

登录页面

 string strIp = Request.UserHostAddress;
                    string strSuccessUrl = Request.QueryString["reurl"] == null ? "~/index.aspx" : HttpUtility.UrlDecode(Request.QueryString["reurl"].ToString());

                    Users u = new Users();
                    string loginMsg = u.LoginMsg(strUserId, strPassword, Request.UserHostAddress);
                    u.LoginMsg2(strUserId, Request.UserHostAddress, Request.UserAgent, 1);

                    // 登录跳转到成功页面
                    if (loginMsg == string.Empty)
                    {
                        LoginLog();
                        Response.Redirect(strSuccessUrl);
                    }

抱歉!评论已关闭.