<%@...%>称为页面指令
ASP.NET网站 又称为ASP.NET应用程序
ASP.NET网页 又称为web窗体(web form)
。指定命名空间的方式
1)在页面中指定:用<% import namespace=" " %>
2) 在项目的web.config中指定:
<configuration>
<system.web>
<pages>
<namespaces>
<add namespace=""/>
</namespaces>
<pages>
</system.web>
</configuration>
3)默认导入的命名空间
\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config的<namespaces>元素中
。ASP.NET Framework中所有的类都位于一个叫做System.Web.dll的程序集中。程序集是最基本的部署、安全和版本控制单位。
程序集分两类:私有的共享的。私有的程序集只能用于一个应用程序,而共享的程序集能用于同一个服务器端上的所有应用程序。
共享程序集为全局程序集缓存(GAC)中。比如,System.Web.dll与其他.NET Framework包含的程序集都在全局程序集缓存中。(物理位置:\WINDOWS\Assembly)
。<asp:TextBox id="TextBox1" runat="server" />
asp:指定命名空间为System.Web.UI.WebControls。所有的ASP.NET控件均在此空间
id:应该始终为每个控件的id属性赋值,就算不需要针对这个控件编写代码。如果不提供id属性,那么某些asp.net framework的特性(比如双向数据绑定)将不能正常工作。
runat=“server”:这个属性将标签标记为一个服务器端控件。如果忽略此属性,那么这个TextBox标签会不运行直接就传给浏览器,而浏览器将简单地忽略这个标签
。当创建一个ASP.NET页面时,其实是在创建一个.NET类源代码,创建System.Web.Ui.Page类的一个实例(instance)。ASP.NET页面中的所有内容,包括所有的脚本(script)和HTML内容,都会编译进一个.NET类中。
请求一个ASP.NET页面时,ASP.NET Framework检测这个页面对应的.NET类,如果对应的类不存在,Framework会自动把这个页面编译成一个新的类,并把编译后的类(程序集)保存在ASP.NET临时文件夹中
(\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET files)
下一次对这个页面的请求时,页面就不会再编译一次了。先前的编译类会执行并把结果返回给浏览器。就算web服务器断电多时,然后再次启动web服务器端后,对同一个页面再次发出请求,这个页面也不需要重新编译。在修改应用程序的源代码之前,这个页面的编译类一直保存在ASP.NET临时文件夹中。
一个类加入到ASP.NET临时文件夹时,这个类与原始ASP.NET页面之间就建立起了文件依赖。以任何方式对ASP.NET页面的修改,对应的.NET类都会被自动地删除。下面对这个页面请求时,框架会自动地把修改后的页面代码编译成一个新的.NET类。
这个过程称为动态编译(dynamic compilation)。动态编译使ASP.NET应用程序得以支持成千上万并发用户。不同于传统的ASP页面,ASP.NET页面不需要每次被请求时进行分析和编译,ASP.NET页面仅在应用程序被修改时才进行编译。