当前位置:
文档之家› asp net4.0应用程序结构
asp net4.0应用程序结构
4.3.3 页面指令
7.其他指令 (1)Control指令:该指令与Page指令类似,用来定义页分析器和编 译器使用的特定于用户控件(.ascx文件)的属性。 (2)Master指令:该指令定义页分析器和编译器使用的特定于母版页 (.master文件)的属性。 (3)MasterType指令:该指令提供一种方法,用于当通过Master属性访问 母版页时,创建对该母版页的强类型引用。 (4)PreviousPage指令:该指令提供一种方法来获得上一页的强类型,可通过 PreviousPage属性访问上一页。 (5)OutputCache指令:该指令以声明的方式控制页或页中包含的用 户控件的输出缓存策略。
2.页面元素布局 的页面元素布局方式有两种,一种是网格布局(Grid Layout),另一 种是流布局(Flow Layout)。 在流布局下,元素没有任何定位的样式属性,它们将在页中从上至下、从左至 右或从右至左排列,具体取决于页的dir属性的设置、元素的容器元素或浏览器的语 言设置。
4.3.3 页面指令
6.Implements指令 Implements指令的功能是允许实现特定的 .NET Framework接口,如 果页面需要实现多个接口,可以使用多条Implements指令。Assembly指令仅支持 interface属性,指定要在页或用户控件中实现的接口。 下面是使用@ Implements指令的一个例子: <%@ Implements interface =" System.Web.UI.IValidator" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="用户登录系统.login" %>
页面指令用于指定当前页编译处理时所使用的设置,一个页面可包含多条页面 指令。 代码脚本块是由“<script runat=server></script>”标签对括起来的程序代 码。在代码脚本块中可以定义页面的全局变量及程序处理过程等。
4.3.3 页面指令
3.Assembly指令 (1)Name:允许指定用于关联页面文件的程序集名称。程序集名称应只包含 文件名,不包含文件的扩展名,引擎会按照系统路径逐一搜索,同时也会 查找Web应用程序的 \Bin目录。例如,文件是MyAssembly.cs,Name属性值应是 MyAssembly。 (2)Src:允许指定编译时所使用的程序集源文件,需要指明源文件的全路径。 例如,文件是MyAssembly.cs,Src属性值应是MyAssembly.cs。
第4章 4.0应用程序结构
4.1 4.2 4.3 4.0应用程序分类 4.0应用程序结构 4.0页面框架
4.1 4.0应用程序分类
4.1.1 Web应用程序 在开发的应用程序中最多的是 Web应用程序类型,也就是 Web窗体应用程序。例如,通含一个.aspx文件,即 页。
下面是使用@Assembly指令的两个例子: <%@ Assembly Name=" MyAssembly"%> <%@ Assembly Src=" MyAssembly.cs"%>
4.3.3 页面指令
4.Reference指令 (1)Page:指定外部页, 应动态编译该页并将它链接到包含
置(相对的或绝对的)。
(4)tagname:指定与类关联的任意别名。此属性只用于用户控件。 (5)tagprefix:指定一个任意别名,它提供对包含指令的文件中所使用标记的 命名空间的短引用。 下面是使用@ Register指令将用户控件导入页面的一个例子:
<%@ Register tagprefix = "MyTag" tagname = "MyControl" Src =" MyControl.ascx" %>
App_ LocalResources
App_Themes App_WebReferences Bin
4.3 4.0页面框架
4.3.1 aspx页面元素 每个aspx文件一般包含3部分元素:页面指令、代码脚本块和页面内容。以第 1章1.3节中实例的login.aspx文件的内容来说,其中,页面指令是以<%@ … %> 括起来的代码,代码如下:
4.3.3 页面指令
5.Register指令 (1)assembly:指定与 tagprefix 属性关联的命名空间所驻留的程序集。程序 集名称不能包括文件扩展名。 (2)namespace:指定正在注册的自定义控件的命名空间。 (3)src:指定与tagprefix:tagname对关联的声明性用户控件文件的位
4.3.3 页面指令
1.Page指令 Page指令用于定义特定于页面的属性,页分析器和编译器根据此属性 来编译页面。Page指令只能置于aspx文件中,并且一个页面只允许出现一条Page指 令。Page指令包含很多属性,表4.3描述了Page指令的部分属性。
4.3.3 页面指令
2.Import指令 Import指令的语法为: <%@ Import Namespace="value" %> 导入命名空间后,用户在编写程序时可直接使用所导入命名空间的所有类和接 口,而无须使用完全限定名来访问这些类和接口。例如,要创建DataTable类的一 个实例,如果不导入System.Data命名空间,则需要使用完全限定名来创建实例, 代码如下: System.Data.DataTable dt = new System.Data.DataTable(); 若将System.Data命名空间导入,则可以使用简化的代码: DataTable dt = new DataTable();
些技术的优点,例如,支持的性能、状态管理和身份验证都可以在使用 生成Web服务时利用。
4.2 4.0应用程序结构
4.2.1 应用程序文件类型 应用程序可能包含以下文件。 Web窗体页(.aspx文件):这是应用程序的基础。 Web服务(.asmx文件):为其他计算机提供共享应用程序的服务。 代码隐藏文件:这取决于应用程序的开发语言及代码模型,如果采用代码 隐藏机制,将会产生一些源代码文件,如选择C# 作为开发语言,就产生 .cs文件。 配置文件(web.config):该文件是XML格式的文件,包含各种功 能的配置信息,如数据库连接、安全设置、状态管理等。 Global.asax文件:用于处理应用程序级事件的可选文件,该文件驻留在 应用程序的根目录下。 用户控件文件(.ascx):该文件定义可重复使用的自定义用户控件。 其他组件:包含其他组件的第三方程序集,如 .dll文件等。
@Reference指令的当前文件。
(2)Control:指定外部用户控件, 应动态编译该控件并将它链接到 包含 @ Reference 指令的当前文件。 (3)VirtualPath:引用的虚拟路径,可以是任何文件类型。例如,它可能会 指向母版页。 下面是使用@ Reference指令的3个例子: <%@ Reference Page =" MyPage.aspx"%> <%@ Reference Control =" MyControl.ascx"%> <%@ Reference VirtualPath =" MasterPage.master"%>
4.3.2 页面布局
1.页面整体结构布局 (1)表格布局。利用表格布局主要通过将网页中的内容分为若干个区块,用 表格的单元格代表区块,然后分别在不同的区块内填充内容,如图4.1所示。
4.3.2 页面布局
(2)DIV+CSS布局。DIV+CSS的页面布局是Web 2.0时代提倡的一种页面布 局方式,是一种比较灵活方便的布局方法。对于DIV+CSS布局的页面,浏览器会 边解析边显示。 DIV+CSS网页布局的基本流程如下: ① 规划网页结构,把网站从整体上分为几个区块,规划好每个区块的大小和
4.2.2 应用程序目录结构
表4.1列出了保留的目录名及其通常包含的文件。
目 录 名 App_Browsers App_Data App_GlobalResources 说 明 包含用于标识个别浏览器并确定其功能的浏览器定义文件(.browser) 包含应用程序数据文件,包括 MDF文件、 XML 文件和其他数据存储文件。 使用此目录来存储应用程序的本地数据库 包含编译到全局范围程序集当中的资源(.resx和 .resources文件) 包含与应用程序特定页、用户控件或母版页关联的资源(.resx和 .resources文 件) 包含用于定义网页和控件外观的文件集合(.skin和 .css文件及图像文 件和其他资源) 包含用于在应用程序中使用的Web引用的引用协定文件(.wsdl文件)、XML 架构(.xsd文件)和发现文档文件(.disco和 .discomap文件) 包含已编译程序集(.dll文件)。这些程序集通常是在应用程序中引用的控件、 组件或其他代码。应用程序将自动引用此目录中的代码所表示的任何类
4.1.3 Web服务
Web服务是提供的另一种应用程序类型。在.NET Framework中,将其
称为XML Web服务,主要是为了将Web服务与XML标准关联在一起。Web服务实际 上是一种能够跨Internet调用的组件,不过,Web服务的真正威力体现在基础结构
中。Web服务是建立在 .NET Framework和CLR之上的,Web服务可以充分利用这
如果页面中的某些元素带有坐标信息,则浏览器将以此坐标为标准,采用网格