ASP.Net页面生命周期

错误:
    每个页面的生命周期为用户的访问开始到结束,也就是说程序中的全局变量同时生存到用户的访问结束.

正确:
    每个页面的生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一个往返过程.全局变量的生命周期在此之间.

例:
string gb_string;

void Page_Load()
{
    if(!IsPostBack)
    {
      //第一次被访问的代码
      gb_string ="Test!";   
    }
}


void btnSubmit_Click(Object sender, EventArgs e)
{
  //在这里gb_string 为空,是这一次postback新建的字符串

  //跟第一次那个被赋值的字符串不是同一对象.
}

ASP.NET 页面生命周期
1. Page_Init();
2. Load ViewState and Postback data;
3. Page_Load();
4. Handle control events;
5. Page_PreRender();
6. Page_Render();
7. Unload event;
8. Dispose method called;

总结:

在Page_Load()中执行的初始化工作:
    1.一般都是初始化web控件,因为这些控件的状态(值),由系统自动保存(__VIEWSTATE),
下次返回时,自动赋值,这是ASP.NET保存"web控件"状态的特性.
  

    2.但是初始的如果是程序中用到的全局变量,就应该注意他的生命周期的问题.如果函数都在一个生命周期中,全局变量的值当然是一致的.但是如果在"由客户激发"的事件中,这就不同了,每个客户事件的激发,都会导致新的页面生命周期的产生,全局变量的值会丢失,因为它们不在同一页面生命周期(就像上面出现的错误1).

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值