(C#)ASP.Net之Load、Init事件

<script language="c#" runat="server">
    int intGlobal = 0;
    void Page_Init()
    {
        intGlobal++;
        message1.Text += "<br/>Page_Init()被调用,intGlobal的值为" + intGlobal;
    }
    void Page_Load(object sender, EventArgs e)
    {
        intGlobal++;
        message2.Text += "<br/>Page_Load()被调用,intGlobal的值为" + intGlobal;
    }
</script>

<head id="Head1" runat="server">
    <title>测试网页</title>
</head>
<body>
    <form id="form1" runat="server">
        <input type="submit" value="提交" />
        <br />
        <asp:Label ID="message1" runat="server" /> 
        <br />
        <asp:Label ID="message2" runat="server" /></div>
    </form>
</body>
</html>

第一次运行将会看到
Page_Init()被调用,intGlobal的值为1
Page_Load()被调用,intGlobal的值为2

单击提交,将会看到
Page_Init()被调用,intGlobal的值为1
Page_Load()被调用,intGlobal的值为2
Page_Load()被调用,intGlobal的值为2

如果单击提交几次,将会看到intGlobal的值始终为2,而没有递增。因为页面是不能保留变量的,每次都是重新声明、使用新变量。而加载页面的顺序为Page_Init(),然后Page_Load(),所以刚打开时显示为1、2。而以后在提交过程中,虽然Page_Init()还是会被调用,但不能改变服务器控件的文本了,所以值虽然递增了,但message1的文本却没有显示。如果删除Page_Init()中的intGlobal++,则可以证明以上观点。因为那时intGlobal的值将始终为1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值