WebForm窗体文件之间的关系

本文解析了ASP.NET Web窗体中的aspx、aspx.cs和designer.cs三个组件之间的关系。揭示了aspx继承aspx.cs,且aspx.cs与designer.cs通过部分类合并编译为一个文件的机制。

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修饰,编译的时候会生成一个代码文件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值