ASPX页面的运行机制

咱理解的都注释到WebForm1.aspx.cs的这段代码里去了。在aspx页面中,添加<%=this.GetType()%>最终也能得到“ASP.aspxwebform_webform1_aspx”这个子类名,也说明了<%%>中的代码被编译到子类那里去执行了。 

按课件上的概括,aspx就是帮我们封装了很多东西,原理上和自己用ashx拼接模板页差不多。

 

 

namespace WebApplication1.ASPXWebForm
{
    //.aspx.cs与.aspx.designer.cs一起组成WebFrom1这个类
    //.aspx.designer.cs中以protected修饰其中声明的变量使得其子类可以访问
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write(this.GetType() + "<br/>");//ASP.aspxwebform_webform1_aspx
            Response.Write(this.GetType().Assembly.Location + "<br/>");
            Response.Write(this.GetType().BaseType + "<br/>");//WebApplication1.ASPXWebForm.WebForm1
            Response.Write(this.GetType().BaseType.Assembly.Location + "<br/>");
            //收到request后先运行Page_Load,然后在内部基于aspx的内容动态编译了一个WebForm1的子类,然后子类负责拼接出response
            //关于控件,designer中runat="server"的各类控件被转化为对应的原生标签
            //其在aspx中的值的初始化赋值在动态编译的WebForm1的子类代码中进行
            //经过运算后,控件对象再被解释成html代码拼接进response
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值