目录

  • 1 项目一 了解ASP.NET与Visual Studio 2015
    • 1.1 任务一 设计“Hello  World”
    • 1.2 任务二 ASP.NET程序构成与处理过程
    • 1.3 任务三 ASP.NET Web 常用控件
  • 2 项目二 HTML网页编程基础
    • 2.1 任务一 使用HTML语言来制作网页
    • 2.2 任务二 在网页中应用JavaScript
    • 2.3 任务三 使用样式表(CSS)来美化网页
  • 3 项目三 母版、主题及外观
    • 3.1 任务一 Master页面的创建与使用
      • 3.1.1 案例一 创建某新闻网站
    • 3.2 任务二 创建自己的网站主题和外观
      • 3.2.1 案例一 根据素材创建网站主题
    • 3.3 任务三 在程序中创建多个主题并实现主题切换
      • 3.3.1 案例一 创建多个主题并实现
  • 4 项目四 应用验证控件
    • 4.1 任务一 完成注册界面的设计
      • 4.1.1 案例一 制作提交内容必填的注册页面
      • 4.1.2 案例二 利用比较验证控件来制作注册页面
      • 4.1.3 案例三 利用范围验证控件来制作数值录入页面
      • 4.1.4 案例四 用户名邮箱格式验证
      • 4.1.5 综合任务
  • 5 项目五 掌握ASP.NET数据库操作
    • 5.1 任务一 网站用户注册页面
      • 5.1.1 案例一 测试与SQLServer数据库建立连接
      • 5.1.2 案例二 实现用户注册页面的功能
      • 5.1.3 拓展任务一
      • 5.1.4 拓展任务解析
    • 5.2 任务二 使用Command执行数据库命令
      • 5.2.1 案例一 制作显示商品分类列表的页面
      • 5.2.2 案例二 制作简单用户登录页面
      • 5.2.3 拓展任务二
      • 5.2.4 拓展任务解析
    • 5.3 任务三 使用DataReader读取数据
      • 5.3.1 案例一 完成用户信息更新页面的制作
      • 5.3.2 拓展任务三
      • 5.3.3 拓展任务解析
    • 5.4 任务四 使用DataAdapter读写数据
      • 5.4.1 案例一 完成商品分类添加页面的制作
      • 5.4.2 案例二 完成商品分类导航窗体的制作
      • 5.4.3 拓展任务四
      • 5.4.4 拓展任务解析
    • 5.5 任务五 使用DataSet
      • 5.5.1 案例一 完成显示商品信息列表页面的制作
      • 5.5.2 案例二 制作一个显示商品名称列表的页面
      • 5.5.3 拓展任务五
      • 5.5.4 拓展任务解析
    • 5.6 任务六 使用DataList控件和GridView控件
      • 5.6.1 案例一  使用DataList控件制作显示最新上架商品主要信息的页面
      • 5.6.2 案例二 使用GridView控件制作数据列表
      • 5.6.3 拓展任务六
      • 5.6.4 拓展任务解析
    • 5.7 富文本编辑器的使用
    • 5.8 二级联动下拉框的使用
      • 5.8.1 二级联动提交
  • 6 项目六 XML、站点导航
    • 6.1 任务一 写入XML文件
      • 6.1.1 案例一 创建基于XML的留言本
    • 6.2 任务二 读取XML文件
      • 6.2.1 案例一 浏览留言本数据的XML文件
    • 6.3 任务三 SiteMapPath控件的使用
      • 6.3.1 案例一 创建基于SiteMapPath的门户网站导航
    • 6.4 任务四 Tree View控件的使用
      • 6.4.1 案例一 创建基于TreeView的分类导航
      • 6.4.2 案例二 编码配置TreeView控件
    • 6.5 任务五 Menu控件的使用
      • 6.5.1 案例一 制作校园网站导航菜单
  • 7 项目七 状态管理与安全管理
    • 7.1 任务一 使用多种方式进行状态管理
      • 7.1.1 案例一 使用Application统计网站的访问情况
      • 7.1.2 案例二 Session存储信息
      • 7.1.3 案例三 Cookie记录访问页面的次数
      • 7.1.4 案例四 使用ViewState保存用户单击按钮次数
    • 7.2 任务二 身份验证和授权
    • 7.3 任务三 根据数据库中的值进行验证和窗体身份验证
      • 7.3.1 案例一 数据库验证和窗体身份验证
    • 7.4 任务四 通过IIS进行保护站点
  • 8 项目八 WebService、模块与一般处理程序
    • 8.1 任务一 创建Web Service
      • 8.1.1 案例一 创建手机归属地查询
    • 8.2 任务二 调用Web Service
      • 8.2.1 案例一 调用服务查询手机归属地
    • 8.3 任务三 HttpHandle的使用
      • 8.3.1 案例一 实现页面验证码
      • 8.3.2 案例二 实现全站图片加水印
    • 8.4 任务四 HttpModule的使用
      • 8.4.1 案例一 实现站点访问控制
  • 9 项目九 调试及打包与部署
    • 9.1 任务一 调试与错误处理
      • 9.1.1 拓展一 调试技术
    • 9.2 任务二 Web程序的发布
  • 10 电子商务网站系统开发
    • 10.1 易泽数码商城项目
      • 10.1.1 易泽数码商城登录
      • 10.1.2 易泽数码商城注册
      • 10.1.3 易泽数码商城会员管理
      • 10.1.4 易泽数码商城商品管理
      • 10.1.5 易泽数码商城项目提交
任务二 ASP.NET程序构成与处理过程

任务二 ASP.NET程序构成与处理过程



【任务要点】

1.掌握ASP.NET 4.5页面结构选项

2.掌握ASP.NET 4.5应用程序文件夹

3.掌握ASP.NET 4.5的页面指令

4.掌握ASP.NET 4.5的页面事件



  在利用ASP.NET 4.5设计Web应用程序时,不可避免地要学会并掌握页面结构、指令、事件以及应用程序文件夹、Global.asax以及程序的编译。下面继续以“Hello World”为例讲解以上的知识点。

【具体步骤】

(1)打开Hello World后,分别切换到图1-7和图1-8所示的页面。下面来理解内置代码模型与后台编码模型。



(2)打开Default.aspx页面并单击【源】按钮,如图1-9所示。


(3)切换到Default.aspx.cs页面,如图1-10所示。


【背景知识】

一、ASP.NET页面结构选项

  ASP.NET 为构造ASP.NET页面的代码提供了两条途径。第一条途径是利用内置代码模型。这个模型对ASP开发人员来说很熟悉,因为所有的代码都包含在一个.asp页面中。第二条途径是使用ASP.NET的后台编码模型,它允许把页面的业务逻辑代码与其显示逻辑代码分开。在这个模型中,页面的显示逻辑存储在.aspx页面中,业务逻辑存储在一个单独的一类文件.aspx.cs或.aspx.vb中

 下面介绍ASP.NET 2.0中的内置和后台编码模型。

(1)内置模型的优点是,业务逻辑和显示逻辑都包含在相同的文件中。开发人员发现,把所有的东西都放在一个可访问的实例中,可以使ASP.NET页面的处理更简单。另一个优点是Visual Studio 2005在处理内置编码模型和ASP.NET 2.0时提供了IntelliSense。过去,这个功能是不存在的。Visual Studio要求必须使用后台编码模型,如果非法操作,让页面使用内置模型,就会丢失IntelliSense功能。

(2)构建ASP.NET 2.0页面的另一个选项是使用新的后台编码模型建立文件。这里提出“新的后台编码模型”是因为,即使后台编码模型的理念与ASP.NET的以前版本相同,后台编码模型在ASP.NET 2.0中的使用方式也大不相同。使用这个新的ASP.NET 2.0后台编码模型的.aspx页面在Page指令有一些属性与ASP.NET的以前版本不同。第一个属性是CodeFile,这是Page指令的一个新属性,表示指向与这个显示页面一起使用的后台编码页面。在这个例子中,给它赋予的值是Default.aspx.vb或Default.aspx.cs。第二个需要的属性是Inherits,这个属性在ASP.NET的以前版本中也有,但很少使用。它指定编译页面时绑定到页面上的类名。指令在ASP.NET 2.0中非常简单。

二、页面指令

               表1-1描述了ASP.NET 2.0中的指令。


三、页面事件

         在ASP.NET页面的生命周期内,Page对象会公开一些被频繁使用的标准事件。ASP.NET页面框架在运行时,会自动连接到(连线)这些方法的相应代理实例。这样用户就无须编写必要的“粘接代码”。以下列举按激发顺序提供运行时连线的代理实例。

  (1)Page_Init:出现此事件期间,用户可以初始化值或连接可能具有的任何事件处理程序。

  (2)Page_Load:出现此事件期间,用户可以执行一系列的操作来首次创建ASP.NET页面或响应由投递引起的客户端事件。在此事件之前,已还原页面和控件视图状态。使用IsPostBack页面属性检查是否为首次处理该页面如果是首次处理,请执行数据绑定。此外,请读取并更新控件属性。

  (3)Page_DataBind:在页面级别调用DataBind方法时,将引发DataBind事件。如果在单个控件上调用DataBind,则它只激发它下面控件的DataBind事件。

  (4)Page_PreRender:恰好在保存视图状态和呈现控件之前激发PreRender事件。用户可以使用此事件在控件上执行所有最后时刻操作。

  (5)Page_Unload:完成页面呈现之后,将激发Page_Unload事件。此事件是执行最终清理工作的合适位置。这包括清理打开的数据库连接、丢弃对象或关闭打开的文件等操作。

  以下列表概括了非确定性事件。

  (1)Page_Error:如果在页面处理过程中出现未处理的例外,则激发Error事件。错误事件为用户提供了妥善处理错误的机会。

  (2)Page_AbortTransaction:如果要指明交易是成功还是失败,交易事件非常有用。此事件通常用于购物车方案,其中此事件可以指示订购是成功还是失败。如果已终止交易,则激发此事件。

  (3)Page_CommitTransaction:如果已成功提交交易,则激发此事件。

上面的页面事件是ASP.NET 2.0中的,以下粗略介绍ASP.NET 4.5主要新增功能与改进。

  (1).NET for Windows Store Apps:Windows应用商店App为特定窗体因素而设计并利用Windows操作系统的功能。

  (2)可移植类库。

  (3)为新HTML5窗体类型的支持。

  (4)提供用于 HTTP 应用程序的新编程接口。

  (5)改进客户端脚本的处理通过改进页性能的绑定和缩减。

  如果创建一个Web项目页面,并打开跟踪功能,就会看到主页面事件的启动顺序,它们按照下面的顺序启动:

  (1)PreInit;

  (2)Init;

  (3)InitComplete;

  (4)PreLoad;

  (5)Load;

  (6)LoadComplete;

  (7)PreRender;

  (8)PreRenderComplete;

  (9)Unload

四、ASP.NET程序的编译

  在浏览器中第一次引用ASP.NET页面时,请求会传送给ASP.NET解析器,ASP.NET解析器用该页面的语言创建类文件,该文件会根据其扩展名(.aspx)传送给ASP.NET解析器,因为ASP.NET知道,这个文件扩展名类型对其处理是有意义的。在创建了类文件后,类文件就被编译为DLL,然后写入Web服务器的磁盘。此时,实例化DLL并处理它,为ASP.NET页面的最初请求者生成输出。

  下一个预编译选项常常称为用于部署的预编译。这是ASP.NET新增的一个优秀功能,它允许把应用程序编译为某些DLL,然后部署给客户、伙伴或其他地方。这么做不但需要的步骤非常少,而且应用程序在编译后,只需移动这些DLL和某些占位符文件,就可以让站点运转起来。也就是说,在部署时,Web站点的代码都放在DLL中

五、Global.asax

  ASP.NET应用程序只能有一个Global.asax文件,该文件支持许多项。

  与处理.aspx页面中页面级的事件一样,也可以在Global.asax文件中处理应用程序的事件。除了这个代码示例中列出的事件之外,还可以在这个文件中构建如下所示的事件。

  (1)Application_Start

  (2)Session_Start

  (3)Application_BeginRequest

  (4)Application_AuthenticateRequest

  (5)Application_Error

  (6)Session_End

  (7)Application_End

六、ASP.NET Web应用程序的组成

  (1)一个在IIS信息服务器中的虚拟的目录。这个虚拟目录被配置为应用程序的根目录;

  (2)一个或多个带.aspx扩展名的页面文件,还允许放入若干个.htm或.asp网页文件。当然用户可以以自己的方式来组织它们的目录结构;

  (3)一个或多个Web.Config配置文件

  (4)一个以Global.asax命名的全局文件;(VS2015中是Startup.cs)