ASP.NET中Page_Load()与Page_Init()的区别
Page_Init()事件:aspx初始化时触发,只执行一次,常用于页面初始化,并且执行在page_load之前,如果在aspx的程序中需要使用该方法,那么该方法的类需要继承 System.Web.UI.Page
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace wangjin.Common { //因为类只能单继承,所以这儿必须继承page页,这样后面的类继承该类之后,也等同于继承了page类,并且有了该类的方法 public class CheckSession:System.Web.UI.Page { //Init事件:aspx初始化时触发. public void Page_Init(object sender, EventArgs e) { if (Session["userInfo"] == null) { Response.Redirect("UserLogin.aspx"); } } } }
别的页面使用该类
using CZBK.ItcastProject.Model; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace wangjin.WebApp._2015_5_31 {
//该类本来是继承sys.web.page类的,但是现在因为CheckSession类继承page,所以只需要继承该类即可 public partial class UserInfoList :Common.CheckSession { protected void Page_Load(object sender, EventArgs e) { //if (Session["userInfo"] == null) //{ // Response.Redirect("UserLogin.aspx"); //} //else //{ // Response.Write("欢迎"+((UserInfo)Session["userInfo"]).UserName+"登录本系统"); //} } } }
Page_Load()每当表单提交,则进行执行