最近看了一篇讲述 页面生存周期 的文章,看完后获益良多,但是有一个问题:按我的理解,因为代码文件(.CS)和页面文件(.ASPX)是两个有继承关系的类,两个类有自己各自的独立的过程,那么在页面文件(.ASPX)中内嵌的 Page_Load 过程和代码文件(.CS)中的 Page_Load 过程应该能同时存在才对,并且在执行页面时能分别先后运行。不知我的理解对不对?如果对,应该怎样验证?

解决方案 »

  1.   

    哪篇文章,借我看看行不
    [email protected]
      

  2.   

    不能的,两个代码是不能同时执行的。首先你看页面文件(.ASPX)的开始,会有这样的一段:
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="AllTest.WebForm1" %>其中Codebehind="WebForm1.aspx.cs"表示代码是Codebehind方式,所以它就是要执行.cs文件中的内容。如果没有这句,则执行.aspx中的代码。
      

  3.   

    我的理解是:
    页面划分为cs和aspx是为了在设计时方便。如果项目编译后aspx就应该包括了页面代码和后台代码。cs文件就没有什么作用了。一起探讨!:)
      

  4.   

    原文就是CSDN里的,地址如下:
    http://61.186.252.131/Expert/topic/1596/1596293.xml?temp=.535
      

  5.   

    Inherits="MyNamespace.WebForm" 这句非常重要,它表示页面继承的类名称,也就是CodeBehind的代码文件中的类,这个类必须从System.Web.WebControls.Page派生
    ==================================================================
    这是从原来那文中copy来的,读文章请细心点好不即是继承则会有覆盖一说,呵呵
      

  6.   

    如果是页面继承 .CS 中的类,那么也应该是页面覆盖 .CS 中的 Page_Load,也就是说我们通常所写的那个Page_Load 不会运行了?