WebForm(aspx,cs,dll之间的关系)

  • WebForm分为两个文件aspx和aspx.cs,aspx是页面模板,是页面描述文件,就是html的内容,和aspx结合的更好,不用像一开始那样程序员自己去填充模板,控件都是定义在aspx中,内联的JavaScript、CSS也是写在aspx中的,,服务端的C#代码是定义在aspx.cs中。aspx控件页面长相,cs控制程序逻辑,这种“前aspx后cs”的方式就被称为CodeBehind。aspx就是模板引擎
  • cs可以调用aspx中的控件,aspx中也可以访问cs中定义的字段、函数,还可以编写复杂的C#代码, for等所有C#代码都可以写在aspx中(不推荐)
  • 前面 <%=UserName %>    <%SayHello(); %>    <%if (UserName == "aaa") { UserName = "bbb"; } %>    后面
          "=" 表示在aspx端表示输出cs里面UserName属性的值
  • 使用的函数、代码相当于在这个位置调用函数、执行代码。注意aspx中调用cs的成员级别必须是protected或者public不能private的。(因为页面aspx是cs服务器端代码类的子类,继承的子类只能调用父类的public protected,不能调用private)
  • <%%>中的代码是运行在服务器端的,是C#语法,其他部分是运行在浏览器端的,是html、JavaScript语法。

比如我在aspxcs文件夹里面建立了一个叫做Form1.aspx的页面
如下:

567993-20160318151213334-265220031.png
567993-20160318151214006-1909523164.png

也就是说当访问页面的时候,父类是后台处理程序里面的那个aspxcs_Form1,而浏览器端的页面叫做ASP.aspxcs_form1_aspx
使用Reflector反编译dll文件,可见 ASP.aspxcs_form1_aspx继承自 aspxcs_Form1

567993-20160318151214912-1288208778.png
父类(我们所写的后台代码)如下:
567993-20160318151215568-255316221.png

当在页面中写入C#代码以后,其内部样式是:
567993-20160318151216068-1027537054.png
567993-20160318151216459-162235803.png
可以看到浏览器页面子类的代码样子是
567993-20160318151216849-1713505723.png
aspx编译器帮助我们将页面中的C#代码,编译成为了一个asp.net中的类,然后执行。

转载于:https://www.cnblogs.com/zhxshseu/p/5292208.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值