目录

  • 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 易泽数码商城项目提交
任务六 使用DataList控件和GridView控件
  • 1 任务六 使用D...
  • 2 补充知识

使用DataSet

通过任务六学习,你需要掌握和了解以下内容:

1.掌握DataList控件使用

2.掌握GridView控件使用

3.利用两个控件完成列表增删改查功能


【任务要点】

DataList控件可以在一个重复列表中显示数据项,并且还可以支持选择和编辑项目。可使用模板对显示的数据进行排版。

【案例一】

制作显示最新上架商品主要信息的页面

运行结果如6-1所示。


图6-1

【具体步骤】

(1)在YiZeShop中,新建了一个名为Default.aspx的Web窗体。

(2)打开Default.aspx窗体,在窗体中新建一个两行一列的表格。

(3)在窗体的设计视图下将DataList控件从工具箱中拖到布局表格的第二行中,更改ID为dlstNewProducts,设置RepeatColumns为5。此时效果如6-2所示。


图6-2

(4)选中新添加的DataList并右击,弹出的快捷菜单如6-3所示。此时选择【编辑模板】【项模板】命令。选择编辑模板后页面图如6-4所示。


图6-3


图6-4

(5)在ItemTemplate中插入布局表格,如6-5所示。

图6-5

(6)在ItemTemplate中布局表格的第一行插入一个Image控件,将ID改为imgProduct,并调整Image控件大小。

在第二行绑定数据库字段ProName。在第三行的第一列插入文字“市场价:”,在第二列绑定数据库字段MarketPrice和文字“元”。在第四行的第一列插入文字“会员价:”,在第二列绑定数据库字段MemberPrice和文字“元”。

在第五行的第一列插入一个ImageButton控件更改ID为ibtnBuy

在第二列插入查看详细a标签,并为其加链接为show.aspx?id=<%#Eval("ProId")%>。

       此时页面效果如6-6所示。


图6-6

(8)下面来完成控件的属性设置及数据邦定:在ItemTemplate中的布局表格里添加控件。

(9)设置完成后,在设计模式下的窗体如6-7所示。


图6-7

(10)添加窗体的Page_Load()方法


(11)添加dlstNewProducts的ItemCommand事件,在编辑模板的时候为购买商品按钮链接添加了命令名称为“Buy”。该事件就是根据这个命令执行对应的操作。



【背景知识】

DataList控件

(1)DataList控件的基本语法如下:

<asp:DataList ID=”DataList1”runat=”server”

RepeatDirection=""

RepeatColumns=""

RepeatLayout=""

DataKeyField=""

OnEditCommand=""

OnCancelCommand=""


OnDeleteCommand=""

OnUpdateCommand=""

OnItemCommand="">

模板列

</asp:DataList>

(2)在DataList控件中,ASP.NET也提供了7种模板列用来定义数据显示的内容和布局,具体参考下表。

(3)在DataList中创建多列:DataList的一个好处是可以以多个列显示数据项。通过设置其RepeatColumns和RepeatDirection属性,可以控制DataList的列的布局。

(4)捕获DataList控件中产生的事件

(5)选择DataList中的项

(6)使用DataList控件中的DataKeys集合

(7)编辑DataList中的项

【任务要点】

使用GridView控件制作数据列表。

【案例二】

制作新闻管理列表页面

新建NewsManagement项目,在项目中新建Web空窗体实现新闻列表的呈现:分页、时间降序、新闻标题截取。

制作完成后的网页运行结果如6-8所示。


图6-8

【具体步骤】

(1)在NewsManagement项目下新建新建Web窗体NewsList.aspx。

(2)在设计模式下编辑页面,完成如6-9布局

(3)修改控件属性,添加数据项

(4)在数据库添加假数据

(5)在后台编码,创建DataLoad()函数,用于加载数据列表,代码如下所示:


(6)新建一个过程完成GridView1的数据邦定。在代码页新建一个数据邦定过程。

(7)编写完成数据操作的过程,根据传入参数SQL语句对数据进行操作。

(8)添加btnSearch按钮的Click事件并编写代码完成新闻的搜索。


(9)添加GridView1的RowDeleting事件,并编写代码实现记录删除功能。


(10)添加GridView1的PageIndexChanging事件,并编写代码实现记录分页显示功能。

(11)添加GridView1的RowEditing事件,并编写代码实现记录编辑功能。


(12)添加GridView1的RowDataBound事件,并编写代码实现标题截取功能。

【背景知识】

GridView控件

一、方法:DataBind

它是很简单、最常用的方法。用于绑定数据。需要注意的只有一点:执行了这个方法后,GridView(由于GridView和DataList极为相似,所以下面的介绍虽然是针对GridView,但与DataList也相差不远)里面所有的显示绑定数据的控件,都会显示DataSource里的数据,其余控件也将初始化成.aspx里设计的状态。

二、属性

1.DataSource

 有DataBind的地方,就应该有DataSource。如果没有指定DataSource而执行DataBind,那GridView将什么也不会显示。

DataSource一般是DataSet、DataTable或者DataView。当然也可以绑定DataReader或者其他实现IEnumerable的类。

2.DataKeyField,DataKeys

在GridView中定位一行之后,如果想知道这行在数据表里的位置,至少有五种方法可以做到这一点,设置GridView的DataKeyField就是这几种方法之一。

3.EditItemIndex,SelectedIndex,CurrentPageIndex,SelectedItem

 这些属性看名字就能理解其意义,需要注意的是,设置了EditItemIndex或者CurrentPageIndex后需要重新执行DataBind方法(前面提到过,还需要设置DataSource)。

4.Columns

Columns就是Column列的集合,可以设置列的属性,包括Visible、HeaderText、FooterText、SortExpression等。

5.Items

Items是GridViewItem的集合,可以遍历当前GridView中显示数据的GridViewItem

GridViewItem

 每一个GridViewItem就是GridView中显示的一行,其中包括:

  • HeaderGridView控件的标题部分

  • ItemGridView控件中的项

  • AlternatingItemGridView控件中的交替项nSelectedItemGridView控件中的选定项(由SelectedIndex设置,通过SelectedItem属性或者Items[SelectedIndex]来读取)

  • EditItemGridView控件中处于编辑状态的项(由EditItemIndex设置,通过Items[EditItemIndex]来读取)

  • Separator GridView控件中项之间的分隔符

  • Footer GridView控件的脚注部分Pager GridView控件的页选择节

下面介绍GridViewItem的属性。

ItemIndex——得到行在Items中的索引。

ItemType——返回行的类型,也就是上面列出的Header、Item、Pager。

Cells——返回行包含的所有TableCell(不管是显示声明的,还是自动生成的;不管是可以看见的,还是隐藏掉的),通过TableCell,可以读取Cell中显示的文本、包含的控件。

三、事件

1.ItemCommand、CancelCommand、DeleteCommand、EditCommand、UpdateCommand也就是在GridView中,单击Button、LinkButton后执行的事件,执行的事件取决于按钮的CommandName。其实最主要的一个是ItemCommand,而后面四个都只是ItemCommand的一小部分,比如一个按钮的CommandName为“Cancel”,当返回后,首先执行的是ItemCommand事件,然后才是CancelCommand事件。

2.PageIndexChanged

如果GridView是分页的,那在GridView上单击Pager上的1、2、3或者<、>时,就会激发这个事件。在这个事件里面,可以用e.NewPageIndex来读取要改变的页,然后赋值给GridView的CurrentPageIndex属性,最后要记得设置DataSource和执行DataBind。

3.ItemDataBound,ItemCreated

首先要说的是这两个事件的发生时间。只要执行了DataBind方法,就会马上激发ItemDataBound事件。如果页面是第一次访问(Page.IsPostBack=false),那在第一次执行DataBind的时候,会先激发ItemCreated事件,也就是说,执行了DataBind后,首先会用ItemCreated来建立Header行,然后用ItemDataBound来绑定Header行,再用ItemCreated来建立第一行,再调用ItemDataBound来绑定第一行,也就是说ItemCreated和ItemDataBound是交替执行的。页面返回时,在Page_Load之前,也会执行ItemCreated事件,但是这时候就不会再执行ItemDataBound事件了。所以,如果想在GridView里动态添加什么控件,就需要在ItemCreated事件中执行,而不是在ItemDataBound事件中。