ASP.NET页面由以下部分构成:
-
Directives
-
Code declaration blocks
-
ASP.NET controls
-
Code render blocks
-
Server-side comments
-
Server-side include directives
-
Literal text and HTML tags
-
Directives相当与编译指令,它指示编译器如何编译页面。两种最常见的Directives是
-
Page Directives
-
Import Directives
-
-
Code declaration blocks包含了所有的应用逻辑,它由<script runat="server"></script>标签包含。
-
ASP.NET controls可以分散的写在文本和html内容中,唯一的要求是控件必须写在 <form Runat= "Server"> </form>标签内。但对于某些标签如 <span Runat="Server"> 和 <ASP:Label Runat="Server"/>,可以不写在<form Runat= "Server"> </form>标签内。ASP.NET页面有一个重要限制就是一个页面只能有出现一个<form Runat= "Server"> </form>标签,如果使用多个,则会出现错误。
-
Code render blocks由<%%>标签包含,它可以在文本和html内容之间执行代码,它与Code declaration blocks有点类似,但还是有区别的,Code declaration blocks只能在里面写变量声明和函数声明与实现,不能直接写语句,语句必须写在函数内。而Code render blocks可以直接在里面写语句。例如:
-
Server-side comments服务器端注释,它不会显示在客户端的源码内。它由 <%-- --%>包含。
-
Server-side include directives用于在当前页中包含其他ASP.NET页面(可以用User Controls代替,它比include更灵活),以下是几种写法:
-
Literal text and HTML tags,这个就是html标签和文本,实际上ASP.NET使用 LiteralControl 类来管理这些文本
这段代码遍历Page.Controls中的所有LiteralControl,并将它的Text属性内容反转,结果如下图: