目录

  • 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 易泽数码商城项目提交
任务四 使用DataAdapter读写数据


使用DataAdapter读取数据

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

1.掌握DataAdapter对象及使用

2.学会商品分类添加页面的制作

3.学会分类导航的制作


【任务要点】

DataAdapter对象及使用

【案例一】完成商品分类添加页面的制作

在YiZeShopTest应用程序中,新建一个用于添加商品分类的Web窗体。

实例运行效果如所示。


AddCategory(类别添加页)

【具体步骤】

(1)在网站YiZeShopTest中建立一个名为AddCategory.aspx的Web窗体。

(2)在窗体中输入说明文字,添加一个TextBox控件更改其ID为txtCategory,添加Button控件更改其ID为btnAdd

(3)双击按钮控件,在自动生成的btnAdd_Click()事件中添加代码。


这里使用了DataAdapter对象的InsertCommand属性向数据表中插入数据。InsertCommand属性与ExecuteNonQuery方法结合使用,完成了数据的插入。DataAdapter对象的UpdateCommand和DeleteCommand属性与此属性使用方法相同。


在默认情况下,当Connection对象执行Open方法时,DataAdapter对象将自动调用SelectCommand属性。但对于InsertCommand、UpdateCommand和DeleteCommand这三个属性则必须使用ExecuteNonQuery方法调用。


另一种方式的参考



【案例二】完成商品分类导航窗体的制作

YiZeShopTest应用程序中,商品是该网站的主要内容,如果想方便准确地找到所需的商品,应该按商品的分类查找,下面所制作的就是显示商品分类列表的页面。该页面显示商品分类的链接,点击链接可转到显示该分类下的商品信息。

实例运行效果如下图所示:


【具体步骤】

(1)在网站YiZeShopTest中建立一个名为CategoryList.aspx的窗体。

(2)在窗体中新建一个两行一列的表格,并将DataList控件从工具箱中拖到这个表格的第二行第一列中。该DataList的属性设置见下


(3)CategoryList.aspx.cs中添加如下引用:using System.Data.SqlClient;

(4)当窗体加载的时候检索数据,并实现数据绑定。

在C#中对Datatable排序,【DefaultView的Sort方法】 代码如下:          

           DataTable dt = new DataTable();     

           dt.Columns.Add("ID", typeof(int));  

           dt.Columns.Add("UserName", typeof(string));

           dt.Rows.Add(new object[] { 1, "张飞" });      

           dt.Rows.Add(new object[] { 2,"关羽"});        

           DataView dv = dt.DefaultView;            

    dv.Sort = "ID";            

           dt = dv.ToTable();

  ds.Tables[0]返回的是一个DataTable对象

  ds.Tables[0].DefaultView返回的是这个DataTable的默认DataView对象


     也可参考以下方法

(5)在HTML代码中添加如下相关代码

  设计模式下界面如所示。


两列呈现



两列呈现

  将该页设为起始页,启动项目。首先执行的是CategoryList.aspx.cs中的Page_Load()中的代码。

  SqlDataAdapter对象的Fill方法利用数据源中的数据填充或刷新DataSet,并填充DataSet中的表,"Category"为数据集中表的名称。最后将DataSet设置为DataList的数据源,并调用该表格的DataBind()方法。当调用该方法时,DataList控件将遍历这个DataSet,并为它所包含的每个记录向表中添加一个栏目名称。

  使用DataBind.Eval绑定dlstCateList的模板列表。

  ASP.NET框架提供了一种静态方法,计算后期绑定的数据绑定表达式并且可选择将结果格式化为字符串。DataBind.Eval很方便,因为它消除了开发人员为强迫将值转换为所学的数据类型而必须做的很多显式转换。这在数据绑定模板列表内的空间时尤为有用,因为通常数据行和数据字段的类型都必须转换。

  DataBind.Eval只是一个具有三个参数的方法:数据项的命名容器、数据字段名和格式字符串。Page是另一个可与DataBind.Eval一起使用的命名容器。<%#DataBinder.Eval(Container.DataItem, "IntergerValue", "{0:c}")%>格式字符串参数是可选的。如果省略它,则DataBinder.Eval返回对象类型的值,如下所示<%#(bool)DataBinder.Eval(Container.DataItem,"BoolValue")%>

【背景知识】

DataAdapter对象及使用

DataAdapter对象主要是在Connection对象和DataSet对象之间执行数据传输的工作,这个对象架构在Command对象上。DataReader通过Command对象对数据源执行SQL命令,将数据填充到DataSet对象,以及把DataSet对象中的数据更新返回到数据源中。

1.DataAdapter对象的常用方法

(1)Update:根据保存在DataSet中的数据来更新数据源中的数据。

(2)Fill:利用数据源中的数据填充或刷新DataSet,其返回值是加载到DataSet中的行数量。Fill方法使用DataAdapter对象的SelectCommand的结果来填充DataSet。具体是通过使用DataReader对象来隐式地返回用于在DataSet中创建的表的列名称及类型(表和列仅在不存在时创建,否则使用现有的DataSet架构),并填充DataSet中的表。


2.DataAdapter对象的常用属性

(1)SelectCommand:从数据源中检索数据。

(2)InsertCommand:向数据源中插入新的数据。

(3)DeleteCommand:从数据源中删除数据。

(4)UpdateCommand:更新数据源中的数据。

3.DataAdapter对象的构造函数与创建

DataAdapter对象的创建是由其对应的构造函数完成的,但是,不同的数据提供者用不同的类及其构造函数完成DataAdapter对象的创建,在SQL Server数据提供者中用类SqlDataAdapter的构造函数创建DataAdapter对象,而在OLE DB数据提供者中用类OleDbDataAdapter的构造函数创建DataAdapter对象。下表分别列出这两个类的四种构造函数的原型。