在ASP.NET 4.0中,母版页的新概念可以灵活创建为整个站点继承使用的页面用户界面。新的Web部件框架可实现丰富的站点入口样式布局和用户自定义功能。除了这些功能,ASP.NET 4.0还包括45个新的服务器控件,这些控件对于数据访问、登录安全、模版导航、图像生成、菜单、树形结构、站点入口等有着强大的声明支持。
微软为asp.net设计了这样的一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出web应用,满足计算向web转移的战略需要[5]。
2.1.2 ASP.NET Web窗体、Web用户控件和母版页
ASP.NET Web窗体的扩展名为.asp,它是向客户端提供Web功能的标准途径。一个对于aspx资源的请求,将使default.aspx文件在服务器端运行,其结果将生成一个HTML页面,然后发送回客户端。通常.aspx文件都有一个相关的后置代码文件.aspx.cs,它也被看作Web窗体的一部分。
Web用户控件和母版页用来组成Web窗体的内容,客户端不直接访问它们。Web用户控件的扩展名是.ascx,它为在多个Web窗体实现功能片段的重用提供了一种简单的方法。Web用户控件是一种特殊的服务器控件,服务器控件一般指三种控件:Web用户控件、Web服务器端控件和HTML服务器端控件。
母版页是ASP.NET 2.0引入的新功能。子页能够从母版页中继承公共内容,其中不包括添加到最终输出中的子页内容。为了允许子页添加它们自己的内容,开发人员可以在母版页中添加ContentPlaceHolder控件,那么子页则可以使用该控件来添加它们自己的内容。当用户请求子页时,子页的输出会与母版页的输出合并。母版页保存在扩展名为.master的文件中。除了包括所有用于定义应用程序标准公共内容之外,母版页还包括页面的所有高层HTML元素。
2.1.3 ASP.NET的工作原理
Asp.net模块分析后缀为.aspx文件的内容,并将文件内容分解成独自的号召以发生代码的大局构造。然后,asp.net模块将各号召放置到预定义的类定义中,利用这个类定义一个特异的asp.net对象page。该对象的任务之一就是生成html流,这些html流能够送到IIS,再从IIS到客户。简言之,在用户请求IIS服务器供给一个版面时,IIS服务器就根据版面上的文本、html和代码产生该版面[6]。
2.1.4 ASP.NET和三层架构
Web窗体、Web用户控件和母版页共同构成应用系统的表示层。它们负责创建在访问者浏览器中载入的HTML代码。
用户单元的逻辑则保存在Web窗体、Web用户控件和母版页的后置代码文件中。尽管在ASP.NET 中并不一定需要使用后置代码文件,不过这里只使用后置代码模型来处理表示层逻辑[7]。
在使用三层架构的应用系统中,表示层中的程序逻辑通常表示为各种事件处理程序,诸如Page_Load、someButton_Click。这些事件处理程序将调用业务层的方法来完成其任务,而从不直接调用数据层。
2.2 C#高级编程语言
C#(C Sharp)是微软为.NET Framework量身订做的程序语言,拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向的程序语言[8]。
C#是一种简单的、现代的、类型安全的由C和C++衍生出来的面向对象的编程语言。C#相对于复杂的C++有一个明显优势即简单易学;C#的第二个特点是面向对象,所有的东西都被封装在类中,包括实例成员或静态成员,这样有助于减少潜在的命名冲突。C#不仅支持传统面向对象语言的private、protected、public三种存取权限,而且还新增了第四种:internal。C#还有一个重要的特点是类型安全。
C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码[9]。 ASP.NET网上购物系统开发与实现(3):http://www.youerw.com/jisuanji/lunwen_6445.html