WebForm窗体文件之间的关系
1、打开一个我们建好的web窗体找到物理文件
他们三者之间的关系是?
通过记事本打开aspx.cs和designer.cs发现他们都是由partial修饰
partial是部分类的意思
解释:在一个命名空间下定义2个Person类,编译的时候报错
注意同一目录下的类名不能重复,加上partial修饰后。就编译成功了
通过反编译证明这2个文件其实就是一个文件
总结:在编译的时候,把2个文件合并成一个文件了,这就是部分类的作用。一旦把一个类标注为部分类,编译器编译的时候就会把同名的2个文件编译在一起
---------------------------------------
得出结论aspx.cs和designer.cs共同构造一个部分类,最终生成一个代码文件。
下面来看aspx和aspx.cs之间的关系
这2行的代码,预测结果,当前类名是WebYuFa,当前类父类的类名应该是Page
我们来看页面显示
显示的结果和 预测的结果完全不一样
由此我们可以得知aspx是继承aspx.cs。
所以我们在aspx.cs中定义的公共成员变量,可以直接在aspx中输出。因为子类继承父类所有非paivate的方法
而aspx中的方法将页面中除了runat和<%%>其它全部按html标准以字符串形式输出。
所以他们三者之间的关系是:aspx继承aspx.cs,而aspx.cs和designer.cs由partial修饰,编译的时候会生成一个代码文件