《ASP-NET网站开发实例教程-第9章整合与发布网站课件》由会员分享,可在线阅读,更多相关《ASP-NET网站开发实例教程-第9章整合与发布网站课件(46页珍藏版)》请在金锄头文库上搜索。
1、ASP.NET 网站开发实例教程第第9 9章整合与发布网站章整合与发布网站 教学环节教学环节【教学导航教学导航 】 1【操作准备操作准备】 2【操作演练操作演练 】 3【技术提升技术提升 】 4【归纳总结归纳总结 】 6【知识集成知识集成 】5【教学导航教学导航】教学目标教学目标(1 1)掌握)掌握web.configweb.config文件的配置方法,熟练掌握在文件的配置方法,熟练掌握在web.configweb.config文件文件中配置数据库连接字符串的方法,学会在中配置数据库连接字符串的方法,学会在WebWeb页面中使用页面中使用web.configweb.config文件中的配置数据
2、库连接字符串文件中的配置数据库连接字符串(2 2)学会将多个)学会将多个WebWeb页面整合为一个完整的网站,并对网站进行部页面整合为一个完整的网站,并对网站进行部署和发布署和发布(3 3)学会将)学会将WebWeb页面中的数据显示代码与业务逻辑代码分离,创建页面中的数据显示代码与业务逻辑代码分离,创建多个类和方法,通过三层架构实现应用程序的功能需求多个类和方法,通过三层架构实现应用程序的功能需求(4 4)学会配置)学会配置ASP.NETASP.NET的用户数据库的用户数据库ASPNETDBASPNETDB(5 5)学会使用)学会使用ASP.NETASP.NET网站管理工具管理用户和角色网站管
3、理工具管理用户和角色(6 6)掌握注册与登录控件的功能及主要属性的应用)掌握注册与登录控件的功能及主要属性的应用(7 7)掌握)掌握ObjectDataSourceObjectDataSource控件的主要属性和功能控件的主要属性和功能(8 8)了解)了解ASP.NETASP.NET身份验证的相关类及验证方式身份验证的相关类及验证方式 课时建议课时建议 1212课时课时【操作准备操作准备 】 1 1创建创建ASP.NETASP.NET网站网站 在在Visual Studio 2008主窗口中创建一个主窗口中创建一个ASP.NET网站,该网站的名称为网站,该网站的名称为“eShop09”,该网站
4、的存储位置是,该网站的存储位置是“D:ASP.NET网站开发实例教程网站开发实例教程WebSiteeShop09”,同时会自动创建一个,同时会自动创建一个Web页面页面Default.aspx。 2 2准备样式文件和图像文件准备样式文件和图像文件 在文件夹在文件夹“eShop09eShop09”(其路径为(其路径为“D:ASP.NETD:ASP.NET网站开发实例教程网站开发实例教程WebSiteeShop09WebSiteeShop09”)新建)新建3 3个子文件夹,将新建的文件夹重命名为个子文件夹,将新建的文件夹重命名为“csscss”、“imagesimages”和和“texttext”
5、。将需要的样式文件。将需要的样式文件style0901.cssstyle0901.css、stylemaster.cssstylemaster.css拷贝到子文件夹拷贝到子文件夹“csscss”中,将所需的图像文件拷贝中,将所需的图像文件拷贝到子文件夹到子文件夹“imagesimages”中,将文本文件中,将文本文件“蝴蝶蝴蝶e e购网服务条款购网服务条款.txt.txt”拷贝到文件夹拷贝到文件夹“texttext”中。中。【操作准备操作准备 】3 3创建主题和外观文件创建主题和外观文件(1 1)添加主题文件夹)添加主题文件夹(2 2)创建外观文件)创建外观文件(3 3)在主题中创建样式文件)
6、在主题中创建样式文件4 4创建自定义创建自定义WebWeb控件控件eShop09WebUserControl.ascxeShop09WebUserControl.ascx5 5创建母版页创建母版页eShopMasterPage09.mastereShopMasterPage09.master 在在【解决方案资源管理器解决方案资源管理器】中,鼠标右键单击网站名称中,鼠标右键单击网站名称“eShop09”,在弹,在弹出的快捷菜单中单击选择出的快捷菜单中单击选择【添加新项添加新项】命令,打开命令,打开【添加新项添加新项】对话框。在对话框。在该对话框中的该对话框中的“模板模板”列表中单击选择列表中单击
7、选择“母版页母版页”项,在项,在“名称名称”文本框中文本框中输入母版页的名称输入母版页的名称“eShopMasterPage09.master”,然后单击,然后单击【添加添加】按钮。按钮。母片页母片页eShopMasterPage09.master就会被添加到就会被添加到【解决方案资源管理器解决方案资源管理器】中。中。【操作准备操作准备 】 接下来对母版页进行设计,在母版页中进入以下操作:接下来对母版页进行设计,在母版页中进入以下操作:(1 1)附加外部样式表文件。)附加外部样式表文件。(2 2)在)在WebWeb页面中添加必要的页面中添加必要的XHTMLXHTML代码,实现代码,实现WebW
8、eb页面的布局结构。页面的布局结构。(3 3)添加所需的)添加所需的WebWeb服务器控件。服务器控件。(4 4)拖拽自定义)拖拽自定义WebWeb控件控件eShop09WebUserControl.ascxeShop09WebUserControl.ascx到母版页。到母版页。(5 5)在合适位置插入多个容器控件)在合适位置插入多个容器控件ContentPlaceHolderContentPlaceHolder。6 6创建默认错误页面创建默认错误页面eShop09Error.aspxeShop09Error.aspx 一个网站要定义至少一个错误页面,配置好后,一旦出现错误,系统自动一个网站要
9、定义至少一个错误页面,配置好后,一旦出现错误,系统自动导航到错误页面。在项目导航到错误页面。在项目“eShop09”中创建中创建1个基于母版页个基于母版页eShop09MasterPage.master的默认错误页面的默认错误页面eShop09Error.aspx,在该页,在该页面控件面控件Content3的区域输入必要的文字的区域输入必要的文字“出现错误,请重新操作!出现错误,请重新操作!”即可。即可。单击单击【标准标准】工具栏中工具栏中【保存保存】按钮,保存页面按钮,保存页面eShop09Error.aspx。【操作准备操作准备 】 7 7创建浏览服务条款页面创建浏览服务条款页面eShop
10、09Description.aspxeShop09Description.aspx 用户注册时需要浏览一下购物网站的服务条款,在此创建一个专用于浏览用户注册时需要浏览一下购物网站的服务条款,在此创建一个专用于浏览服务条款的页面服务条款的页面eShop09Description.aspxeShop09Description.aspx,该页面也是基于母版页,该页面也是基于母版页eShop09MasterPage.mastereShop09MasterPage.master创建的。创建的。 8 8在在web.configweb.config文件中配置数据库连接字符串文件中配置数据库连接字符串 打开项
11、目打开项目“eShop09”中的中的web.config文件,配置数据库连接字符串,代码文件,配置数据库连接字符串,代码如表如表9-5所示。所示。表表9-5web.config文件中数据库连接对应的代码文件中数据库连接对应的代码行号行号代码代码123456 / /【操作准备操作准备 】 9 9配置配置ASP.NETASP.NET的用户数据的用户数据库库ASPNETDBASPNETDB 使用使用Visual Studio 2008提供的提供的命令命令aspnet_regsql,将项目,将项目eShop09的数据库的数据库eshop2010配配置为带有用户权限管理功能的数置为带有用户权限管理功能的
12、数据库。据库。(1 1)启动)启动ASP.NET SQL ServerASP.NET SQL Server安安装向导装向导(2 2)选择安装选项)选择安装选项(3 3)选择服务器和数据库)选择服务器和数据库(4 4)确认设置)确认设置 10 10使用使用ASP.NETASP.NET网站管理网站管理工具管理用户和角色工具管理用户和角色(1 1)打开)打开ASP.NETASP.NET网站管理工具网站管理工具(2 2)使用)使用“安全设置向导安全设置向导”配置配置安全性安全性(3 3)创建与管理用户)创建与管理用户(4 4)管理角色)管理角色(5 5)创建与管理访问规则)创建与管理访问规则1111设
13、置默认错误页设置默认错误页【操作准备操作准备 】 12 12配置配置web.configweb.config文件文件(1 1)配置)配置authenticationauthentication元素元素(2 2)配置)配置locationlocation元素元素(3 3)配置)配置membershipmembership元素元素(4 4)配置)配置roleManagerroleManager元素元素(5 5)配置)配置profileprofile元素元素 13 13创建类及其方法创建类及其方法 在在【解决方案资源管理器解决方案资源管理器】中右键单击项目名称中右键单击项目名称“eShop09”,在
14、弹出的,在弹出的快捷菜单中单击快捷菜单中单击【添加新项添加新项】命令,打开命令,打开【添加新项添加新项】对话框。对话框。 在在【添加新项添加新项】对话框中单击选择模板对话框中单击选择模板“类类”选项,在选项,在“名称名称”文本框文本框中输入中输入“eShopClass.cs”,然后单击,然后单击【添加添加】按钮,在项目按钮,在项目“eShop09”中添加了一个新的类。中添加了一个新的类。【操作准备操作准备 】(1)引入命名空间)引入命名空间 引入命名空间的代码为:引入命名空间的代码为:using System.Data.SqlClient ;(2)定义属性)定义属性sqlConn(3)定义方法
15、)定义方法getScalarInt()(4)定义方法)定义方法getScalar()(5)定义方法)定义方法getScalar()(6)定义方法)定义方法executeComm()(7)定义方法)定义方法executeComm()(8)定义方法)定义方法getTable()(9)定义方法)定义方法getTable()(10)定义方法)定义方法getUserCart()(11)定义方法)定义方法getSelectGoods()(12)定义方法)定义方法gvDataBind()(13)定义方法)定义方法repeaterDataBind()(14)定义方法)定义方法fvDataBind()(15)定
16、义方法)定义方法dlDataBind()(16)定义方法)定义方法ddlDataBind()【操作演练操作演练 】【任务描述任务描述】【任务任务9-1】创建用户注册页面创建用户注册页面 利用利用ASP.NET 3.5ASP.NET 3.5提供的注册控件创建用户注册页面提供的注册控件创建用户注册页面eShop09Register.aspxeShop09Register.aspx,该页面的浏览效果如图,该页面的浏览效果如图9-339-33所示。所示。图图9-33注册页面注册页面eShop09Register.aspx的浏览效果的浏览效果 【操作演练操作演练 】【任务实施任务实施】【任务任务9-1】
17、创建用户注册页面创建用户注册页面1 1创建基于母版页创建基于母版页eShop09MasterPage.mastereShop09MasterPage.master的页面的页面eShop09Register.aspxeShop09Register.aspx2 2在页面中添加在页面中添加ASP.NET 3.5ASP.NET 3.5提供提供的注册控件的注册控件 切换到页面的切换到页面的“设计设计”视图,单击工视图,单击工具箱中的具箱中的“登录登录”控件组左侧的控件组左侧的“+”,展开,展开ASP.NET 3.5提供的所有登录控提供的所有登录控件,如图件,如图9-34所示。所示。图图9-34“登录登录
18、”控件组控件组 【操作演练操作演练 】【任务实施任务实施】【任务任务9-1】创建用户注册页面创建用户注册页面3 3运行运行WebWeb页面与测试程序功能页面与测试程序功能 将将Web页面页面eShop09Register.aspx设为起始页,运行该页面,其浏览效果设为起始页,运行该页面,其浏览效果如图如图9-33所示。在该页面输入新用户的所示。在该页面输入新用户的相关信息,包括用户名、密码、电子邮相关信息,包括用户名、密码、电子邮件、安全提示问题和安全提示问题的答件、安全提示问题和安全提示问题的答案,如图案,如图9-39所示。然后单击所示。然后单击“创建用创建用户户”按钮,会弹出如图按钮,会弹
19、出如图9-40所示的所示的“已已成功创建帐户成功创建帐户”的提示信息页面。的提示信息页面。图图9-39输入新用户的相关信息输入新用户的相关信息图图9-40“已成功创建帐户已成功创建帐户”的提示信息页面的提示信息页面【操作演练操作演练 】【任务描述任务描述】【任务任务9-2】创建用户登录页面创建用户登录页面 利用利用ASP.NET 3.5ASP.NET 3.5提供的登录控件创建用户登录页面提供的登录控件创建用户登录页面eShop09Login.aspxeShop09Login.aspx,该页面的浏览效果如图,该页面的浏览效果如图9-419-41所示。所示。图图9-41登录页面登录页面eShop0
20、9Login.aspx的浏览效果的浏览效果 【操作演练操作演练 】【任务实施任务实施】【任务任务9-2】创建用户登录页面创建用户登录页面 1 1创建基于母版页创建基于母版页eShop09MasterPage.mastereShop09MasterPage.master的页面的页面eShop09Login.aspxeShop09Login.aspx2 2在页面中添加在页面中添加ASP.NET 3.5ASP.NET 3.5提供的登录控件提供的登录控件3 3运行运行WebWeb页面与测试程序功能页面与测试程序功能 将将Web页面页面eShop09Login.aspx设为起始页,运设为起始页,运行该页
21、面,其浏览效果如图行该页面,其浏览效果如图9-41所示。在该页面中输所示。在该页面中输入用户名和密码,选择复选框入用户名和密码,选择复选框“下次记住我下次记住我”,如图,如图9-42所示。然后单击所示。然后单击“登录登录”按钮,如果能够成功登按钮,如果能够成功登录,则会自动导航录,则会自动导航Default.aspx页面。页面。图图9-42在在“登录登录”页面输入用户名和密码页面输入用户名和密码 【操作演练操作演练 】【任务描述任务描述】【任务任务9-3】创建网站首页创建网站首页Default.aspx 创建网站的首页创建网站的首页Default.aspxDefault.aspx,首页中分页显
22、示商品的搜索结果、畅首页中分页显示商品的搜索结果、畅销商品榜、购物车中已选购商品的总销商品榜、购物车中已选购商品的总数量和总金额,首页中还包含顶部导数量和总金额,首页中还包含顶部导航栏、商品导航栏和购物导航栏。该航栏、商品导航栏和购物导航栏。该页面的布局设计示意图如图页面的布局设计示意图如图9-439-43所示所示,其浏览效果如图,其浏览效果如图9-449-44所示。所示。图图9-43网站首页网站首页Default.aspx的布局设计示意图的布局设计示意图 【操作演练操作演练 】【任务任务9-3】创建网站首页创建网站首页Default.aspx 图图9-44网站首页网站首页Default.as
23、px的浏览效果的浏览效果 【操作演练操作演练 】【任务实施任务实施】【任务任务9-3】创建网站首页创建网站首页Default.aspx 1 1在网站在网站eShop09eShop09中添加一个中添加一个WebWeb页面页面Default.aspxDefault.aspx2 2WebWeb页面页面Default.aspxDefault.aspx的布局设计的布局设计(1 1)在页面当前位置添加)在页面当前位置添加1 1个个SiteMapPathSiteMapPath控件。控件。(2 2)在页面的搜索区域添加了)在页面的搜索区域添加了1 1个个DropDownListDropDownList控件、控
24、件、1 1个个TextBoxTextBox控控件、件、1 1个个ButtonButton控件和控件和1 1个个HyperLinkHyperLink控件,对应的代码如表控件,对应的代码如表9-269-26所示。所示。(3 3)中间分为左右两个区域,其主体的)中间分为左右两个区域,其主体的XHTMLXHTML代码如表代码如表9-279-27所示。所示。【操作演练操作演练 】【任务实施任务实施】【任务任务9-3】创建网站首页创建网站首页Default.aspx 3 3在页面在页面“Default.aspxDefault.aspx”中添加中添加WebWeb控件控件(1 1)在)在WebWeb页面页面“
25、Default.aspxDefault.aspx”中添加中添加PlaceHolderPlaceHolder控件,在该容控件,在该容器控件中添加器控件中添加2 2个个LabelLabel控件,且输入一些提示文字,对应代码如表控件,且输入一些提示文字,对应代码如表9-9-2828所示。所示。(2 2)在)在“Default.aspxDefault.aspx”页面中添加页面中添加SiteMapDataSourceSiteMapDataSource控件和控件和TreeViewTreeView控件控件(3 3)在)在WebWeb页面页面“Default.aspxDefault.aspx”中添加中添加Re
26、peaterRepeater控件控件(4 4)在)在WebWeb页面页面“Default.aspxDefault.aspx”中添加中添加DataListDataList控件控件【操作演练操作演练 】【任务实施任务实施】【任务任务9-3】创建网站首页创建网站首页Default.aspx 4 4编写程序代码,实现程序功能编写程序代码,实现程序功能(1 1)引入命名空间)引入命名空间 引入所需要的命名空间,代码如下:引入所需要的命名空间,代码如下:using System.Data.SqlClient;(2 2)定义方法)定义方法getCartInfo()getCartInfo()(3 3)定义方法
27、)定义方法cartSum()cartSum()(4 4)定义方法)定义方法cartTotal()cartTotal()(5 5)定义方法)定义方法repeaterBind()repeaterBind()(6 6)定义方法)定义方法dropDownListBind ()dropDownListBind ()(7)定义方法)定义方法setEnable()(8)定义属性)定义属性currentPage(9)定义方法)定义方法dataListBind()(10)编写搜索按钮)编写搜索按钮btnSearch 的的Click事件过程的程序代码事件过程的程序代码【操作演练操作演练 】【任务实施任务实施】【任
28、务任务9-3】创建网站首页创建网站首页Default.aspx 4 4编写程序代码,实现程序功能编写程序代码,实现程序功能(1111)编写)编写“首页首页”按钮按钮linkbtnFirstlinkbtnFirst的的ClickClick事件过程的程序代码事件过程的程序代码(1212)编写)编写“上一页上一页”按钮按钮linkbtnPreviouslinkbtnPrevious的的ClickClick事件过程的代码事件过程的代码(1313)编写)编写“下一页下一页”按钮按钮linkbtnNextlinkbtnNext的的ClickClick事件过程的程序代码事件过程的程序代码(1414)编写)编
29、写“末页末页”按钮按钮linkbtnLastlinkbtnLast的的ClickClick事件过程的程序代码事件过程的程序代码(1515)编写)编写Default.aspxDefault.aspx页面页面PagePage对象对象LoadLoad事件过程的程序代码事件过程的程序代码(1616)编写)编写“退出登录退出登录”按钮按钮lbtnOutLoginlbtnOutLogin的的ClickClick事件过程的代码事件过程的代码【操作演练操作演练 】【任务实施任务实施】【任务任务9-3】创建网站首页创建网站首页Default.aspx 5 5运行运行WebWeb页面与测试程序功能页面与测试程序功
30、能 将将Web页面页面Default.aspx设为起设为起始页,运行该页面,其浏览效果如始页,运行该页面,其浏览效果如图图9-44所示。单击该页面顶部的超所示。单击该页面顶部的超链接链接“登录登录”,打开,打开“登录登录”页面页面进行登录操作,登录成功后重新返进行登录操作,登录成功后重新返回首页回首页Default.aspx,且搜索,且搜索“三三星星”手机,结果如图手机,结果如图9-45所示。所示。图图9-45登录用户的搜索结果登录用户的搜索结果 【操作演练操作演练 】【任务描述任务描述】【任务任务9-4】创建浏览商品详细信息页面创建浏览商品详细信息页面 创建浏览商品详细信息页面创建浏览商品详
31、细信息页面eShop09ProductDetails.aspxeShop09ProductDetails.aspx,该页面,该页面主要用于浏览用户选购商品的详细信息,其布局与第主要用于浏览用户选购商品的详细信息,其布局与第6 6章创建的章创建的WebWeb页页面面eShop060501.aspxeShop060501.aspx相似,而不同的是页面相似,而不同的是页面eShop09ProductDetails.aspxeShop09ProductDetails.aspx是基于母版页是基于母版页eShop09MasterPage.mastereShop09MasterPage.master创建创建
32、WebWeb页面。页面。【操作演练操作演练 】【任务实施任务实施】【任务任务9-4】创建浏览商品详细信息页面创建浏览商品详细信息页面 1 1在网站在网站eShop09eShop09中添加一个中添加一个WebWeb页面页面eShop09ProductDetails.aspxeShop09ProductDetails.aspx2 2WebWeb页面的布局设计与添加页面的布局设计与添加WebWeb控件控件(1 1)在各个)在各个ContentContent控件区域添加控件区域添加XHTMLXHTML代码和代码和WebWeb控件控件(2 2)添加)添加ObjectDataSourceObjectDat
33、aSource控件控件3 3编写程序代码,实现程序功能编写程序代码,实现程序功能(1 1)定义方法)定义方法getCartInfo ()getCartInfo ()(2 2)定义方法)定义方法cartSum()cartSum()(3 3)编写)编写eShop09ProductDetails.aspxeShop09ProductDetails.aspx页面页面PagePage对象对象LoadLoad事件过程事件过程的程序代码的程序代码【操作演练操作演练 】【任务实施任务实施】【任务任务9-4】创建浏览商品详细信息页面创建浏览商品详细信息页面 4 4运行运行WebWeb页面与测试程序功能页面与测试
34、程序功能 将将Web页面页面Default.aspx设为起始设为起始页,运行该页面,其浏览效果如图页,运行该页面,其浏览效果如图9-44所示。所示。(1 1)匿名用户访问商品详细信息)匿名用户访问商品详细信息页面页面 在在Web页面页面Default.aspx直接单击直接单击商品展示区域的图片,导航到商品详商品展示区域的图片,导航到商品详细信息页面,如图细信息页面,如图9-50所示。所示。图图9-50匿名用户访问商品详细信息页面的浏览效果匿名用户访问商品详细信息页面的浏览效果 【操作演练操作演练 】【任务实施任务实施】【任务任务9-4】创建浏览商品详细信息页面创建浏览商品详细信息页面 (2 2
35、)登录用户访问商品详细信息)登录用户访问商品详细信息页面页面 Web页面页面Default.aspx运行时,单运行时,单击顶部的击顶部的“登录登录”按钮导航到按钮导航到“登录登录页面页面”进行用户登录操作,例如以进行用户登录操作,例如以“金海金海”的身份登录,登录成功后自动的身份登录,登录成功后自动导航到导航到Web页面页面Default.aspx。然后。然后单击商品展示区域的图片,导航到商单击商品展示区域的图片,导航到商品详细信息页面,如图品详细信息页面,如图9-51所示。所示。图图9-51登录用户登录用户“金海金海”访问商品详细信息页面访问商品详细信息页面【技术提升技术提升 】【任务描述任
36、务描述】【任务任务9-5】创建购物车页面创建购物车页面 创建购物车页面创建购物车页面eShop09Cart.aspxeShop09Cart.aspx,该页面主要用于查看当前登录,该页面主要用于查看当前登录用户已选购的商品和向购物车中新增或删除商品,在该页面还可以修用户已选购的商品和向购物车中新增或删除商品,在该页面还可以修改购物数量,显示当前登录用户的购物车中选购商品的总计金额和节改购物数量,显示当前登录用户的购物车中选购商品的总计金额和节省的金额。省的金额。【技术提升技术提升 】【任务实施任务实施】【任务任务9-5】创建购物车页面创建购物车页面1 1在网站在网站eShop09eShop09中
37、添加一个中添加一个WebWeb页面页面eShop09Cart.aspxeShop09Cart.aspx2 2WebWeb页面的布局设计与添加页面的布局设计与添加WebWeb控件控件(1 1)在各个)在各个ContentContent控件区域添加控件区域添加XHTMLXHTML代码和代码和WebWeb控件控件(2 2)添加)添加ObjectDataSourceObjectDataSource控件控件3 3编写程序代码,实现程序功能编写程序代码,实现程序功能(1 1)引入命名空间)引入命名空间引入所需要的命名空间,代码如下:引入所需要的命名空间,代码如下:using System.Data.Sql
38、Client;(2 2)定义方法)定义方法getCartInfo()getCartInfo()【技术提升技术提升 】【任务实施任务实施】【任务任务9-5】创建购物车页面创建购物车页面(3 3)定义方法)定义方法cartTotal()cartTotal()(4 4)定义方法)定义方法saveTotal()saveTotal()(5 5)定义方法)定义方法updateCart()updateCart()(6 6)定义方法)定义方法gridViewBind()gridViewBind()(7 7)编写)编写GridView1GridView1控件的控件的RowEditingRowEditing事件过
39、程的程序代码事件过程的程序代码(8 8)编写)编写GridView1GridView1控件的控件的RowCancelingEditRowCancelingEdit事件过程的程序代码事件过程的程序代码(9 9)编写)编写GridView1GridView1控件的控件的RowUpdatingRowUpdating事件过程的程序代码事件过程的程序代码(1010)编写)编写GridViewGridView控件的控件的RowDeleteingRowDeleteing事件过程的程序代码事件过程的程序代码(1111)编写)编写GridView1GridView1控件的控件的RowDataBoundRowDa
40、taBound事件过程的程序代码事件过程的程序代码(1212)编写)编写eShop09Cart.aspxeShop09Cart.aspx页面页面PagePage对象对象LoadLoad事件过程的程序代码事件过程的程序代码【技术提升技术提升 】【任务实施任务实施】【任务任务9-5】创建购物车页面创建购物车页面 4 4运行运行WebWeb页面与测试程页面与测试程序功能序功能(1 1)登录成功后查看用户)登录成功后查看用户的购物车中选购的商品的购物车中选购的商品 单击首页中的单击首页中的“查看购物查看购物车车”超链接,导航到购物车超链接,导航到购物车页面浏览购物车已选购的商页面浏览购物车已选购的商品
41、信息,如图品信息,如图9-54所示。所示。图图9-54登录用户浏览购物车已选购的商品信息登录用户浏览购物车已选购的商品信息 【技术提升技术提升 】【任务实施任务实施】【任务任务9-5】创建购物车页面创建购物车页面 (2 2)登录成功后往购物车中添加新)登录成功后往购物车中添加新的商品的商品 先在首页先在首页Default.aspx的商品展示区域的商品展示区域单击单击“购买购买”按钮,然后导航到商品详细按钮,然后导航到商品详细信息浏览页面信息浏览页面 eShop09ProductDetails.aspx单击单击“加加入购物车入购物车”按钮,导航到购物车页面同时按钮,导航到购物车页面同时往购物车中
42、添加刚才所选购的往购物车中添加刚才所选购的2件商品,件商品,同步更新登录用户的购物总金额和节省总同步更新登录用户的购物总金额和节省总额,数据更新后的购物车如图额,数据更新后的购物车如图9-55所示。所示。图图9-55购物车中新增加购物车中新增加2件商品件商品 【技术提升技术提升 】【任务实施任务实施】【任务任务9-5】创建购物车页面创建购物车页面 (3 3)修改购物数量)修改购物数量 在如图在如图9-55所示的购物车的最后一行中,单击所示的购物车的最后一行中,单击“修改数量修改数量”超超链接,数量进入可编辑状态,且显示对应的文本框,输入数字链接,数量进入可编辑状态,且显示对应的文本框,输入数字
43、“3”,然后单击,然后单击“更新更新”按钮,更新结果如图按钮,更新结果如图9-56所示。所示。图图9-56成功修改购物车中的商品数量成功修改购物车中的商品数量 【技术提升技术提升 】【任务描述任务描述】【任务任务9-6】部署与发布网站部署与发布网站 对蝴蝶对蝴蝶e e购网调试完成后,将此网站进行部署与发布。购网调试完成后,将此网站进行部署与发布。【任务描述任务描述】1 1设置起始页设置起始页 将网站将网站eShop09中的中的Web页面页面Default.aspx设为起始页。设为起始页。2 2复制网站复制网站 在在“解决方案资源管理器解决方案资源管理器”的工具栏中单击的工具栏中单击“复制网站复
44、制网站”按钮,或者单击按钮,或者单击“网站网站”菜单中的菜单中的“复制网站复制网站”命令即可开始启动复制操作。命令即可开始启动复制操作。ASP.NET中有中有4种发布位置可选择,包括文件系统、本地种发布位置可选择,包括文件系统、本地IIS、FTP站点和远程站点。复制站站点和远程站点。复制站点时,点时,IDE可自动检查是否有文件更新。可自动检查是否有文件更新。【技术提升技术提升 】【任务实施任务实施】【任务任务9-6】部署与发布网站部署与发布网站 3 3生成网站生成网站 在在“解决方案资源管理器解决方案资源管理器”中右中右键单击网站名称键单击网站名称“eShop09”,在快,在快捷菜单中单击捷菜
45、单中单击“生成网站生成网站”命令生命令生成网站,如图成网站,如图9-57所示。所示。图图9-57生成网站生成网站 【技术提升技术提升 】【任务实施任务实施】【任务任务9-6】部署与发布网站部署与发布网站 4 4发布网站发布网站 在在“解决方案资源管理器解决方案资源管理器”中右中右键单击网站名称键单击网站名称“eShop09”,在快,在快捷菜单中单击捷菜单中单击“发布网站发布网站”命令命令(快捷菜单如图(快捷菜单如图9-57所示),在弹所示),在弹出的出的“发布网站发布网站”对话框中选择网对话框中选择网站发布的目标位置,如图站发布的目标位置,如图9-58所示。所示。图图9-58发布网站发布网站
46、【技术提升技术提升 】【任务实施任务实施】【任务任务9-6】部署与发布网站部署与发布网站 5 5安装与配置安装与配置IIS7.0IIS7.0 由于由于ASP.NET3.5最匹配的最匹配的IIS版本是版本是IIS7.0,先在,先在Windows Server 2008操作系统上安装配置好操作系统上安装配置好IIS7.0,其操作方法已在第,其操作方法已在第1章介绍过。章介绍过。 6 6在在IIS 7.0IIS 7.0中部署蝴蝶中部署蝴蝶e e购网购网 打开打开IIS7.0,展示左侧的第,展示左侧的第2个服务器节点,右键单击个服务器节点,右键单击“网站网站”节点,节点,在弹出的快捷菜单中单击在弹出的
47、快捷菜单中单击“添加网站添加网站”命令,打开命令,打开“添加网站添加网站”对话框,对话框,在在“添加网站添加网站”对话框中输入对话框中输入“网站名称网站名称”(即(即“蝴蝶蝴蝶e购网购网”)、)、“物物理路径理路径”、“IP地址地址”和和“端口端口”等内容,如图等内容,如图9-59所示。所示。【技术提升技术提升 】【任务实施任务实施】【任务任务9-6】部署与发布网站部署与发布网站 7 7在在IEIE浏览器中浏览发布的浏览器中浏览发布的网站网站 打开打开IE浏览器,在地址栏中浏览器,在地址栏中输入输入http:/localhost:8098/,按回车键即可浏览网站的首页。按回车键即可浏览网站的首
48、页。图图9-59“添加网站添加网站”对话框对话框 【知识集成知识集成 】 9.4.19.4.1ASP.NETASP.NET身份验证的相关类身份验证的相关类(1 1)FormsAuthenticationFormsAuthentication类类 FormsAuthentication类为类为Web应用程序管理应用程序管理Forms身份验证服务,用身份验证服务,用于在登录时验证用户的于在登录时验证用户的Forms身份验证凭据,可以存储在外部数据库中,身份验证凭据,可以存储在外部数据库中,也可以存储在应用程序的配置文件中。也可以存储在应用程序的配置文件中。(2 2)MembershipMember
49、ship类类 在在ASP.NET应用程序中,应用程序中,Membership类用于验证用户凭据并管理用户类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。设置(如密码和电子邮件地址)。Membership类可以独自使用,或者与类可以独自使用,或者与FormsAuthentication一起使用以创建一个完整的一起使用以创建一个完整的Web应用程序或网站的应用程序或网站的用户身份验证系统。用户身份验证系统。Login控件封装了控件封装了Membership 类,从而提供一种便类,从而提供一种便捷的用户验证机制。捷的用户验证机制。【知识集成知识集成 】 9.4.19.4.1ASP.NETA
50、SP.NET身份验证的相关类身份验证的相关类 (3 3)RolesRoles类类 Roles类用于管理角色中的用户成员资格,以便在类用于管理角色中的用户成员资格,以便在ASP.NET应用应用程序中进行授权检查,其命名空间为程序中进行授权检查,其命名空间为System.Web.Security。利用利用ASP.NET角色管理,可以根据用户组(称为角色)来管理应用角色管理,可以根据用户组(称为角色)来管理应用程序的授权。通过向用户分配角色,可以根据角色来控制对程序的授权。通过向用户分配角色,可以根据角色来控制对Web应应用程序的不同部分或功能的访问,而无需通过根据用户名指定授权用程序的不同部分或功
51、能的访问,而无需通过根据用户名指定授权来控制此类访问。来控制此类访问。【知识集成知识集成 】 9.4.29.4.2ASP.NETASP.NET的身份验证方式的身份验证方式 ASP.NET的身份验证是从用户处获取标识凭据(如用户名和密码)的身份验证是从用户处获取标识凭据(如用户名和密码)并通过某些授权机构验证那些凭据的过程。如果这些凭据有效,则并通过某些授权机构验证那些凭据的过程。如果这些凭据有效,则将提交这些凭据的实体视为通过身份验证。在身份得到验证后,授将提交这些凭据的实体视为通过身份验证。在身份得到验证后,授权进程将确定该身份是否可以访问给定资源。权进程将确定该身份是否可以访问给定资源。
52、ASP.NET通过身份验证提供程序(即包含验证请求方凭据所需的通过身份验证提供程序(即包含验证请求方凭据所需的代码模块)来实现身份验证,验证方法有代码模块)来实现身份验证,验证方法有3种。种。(1 1)PassportPassport身份验证身份验证(2 2)FormsForms身份验证身份验证(3 3)WindowsWindows身份验证身份验证【知识集成知识集成 】 9.4.39.4.3ASP.NETASP.NET的数据源控件的数据源控件ObjectDataSourceObjectDataSource SqlDataSource控件通过结构对象或者业务实体对象将数据传递给数据控件通过结构对
53、象或者业务实体对象将数据传递给数据绑定控件,从而实现数据的显示、编辑和排序等功能。绑定控件,从而实现数据的显示、编辑和排序等功能。1 1ObjectDataSourcerObjectDataSourcer控件的主要属性控件的主要属性 ObjectDataSourcer控件的主要属性如表控件的主要属性如表9-67所示。所示。2 2ObjectDataSourceObjectDataSource控件的主要功能控件的主要功能 ObjectDataSourcer控件的主要功能如表控件的主要功能如表9-68所示。所示。表表9-67ObjectDataSourcer控件的主要属性控件的主要属性属性名称属性
54、名称说明说明SelectMethod获取或设置由获取或设置由 ObjectDataSource 控件调用以检索数据的方法名称控件调用以检索数据的方法名称InsertMethod获取或设置由获取或设置由 ObjectDataSource 控件调用以插入数据的方法名称控件调用以插入数据的方法名称UpdateMethod获取或设置由获取或设置由 ObjectDataSource 控件调用以更新数据的方法名称控件调用以更新数据的方法名称DeleteMethod获取或设置由获取或设置由 ObjectDataSource 控件调用以删除数据的方法名称控件调用以删除数据的方法名称TypeName获取或设置获
55、取或设置ObjectDataSourcer控件使用的类名称,即业务对象的类名控件使用的类名称,即业务对象的类名【知识集成知识集成 】 9.4.49.4.4ASP.NETASP.NET的注册与登录控件的注册与登录控件 1 1LoginLogin控件控件 Login控件是一个复合控件,它提供对网站上的用户进行身份验控件是一个复合控件,它提供对网站上的用户进行身份验证所需的所有常见的证所需的所有常见的UI元素。所有登录方案都需要以下元素。所有登录方案都需要以下3个元素:用个元素:用于标识用户的唯一用户名、用于验证用户标识的密码、用于将登录于标识用户的唯一用户名、用于验证用户标识的密码、用于将登录信息
56、发送到服务器的登录按钮。信息发送到服务器的登录按钮。 2 2LoginViewLoginView控件控件LoginView控件根据用户是否经过身份验证以及他(或她)属于哪控件根据用户是否经过身份验证以及他(或她)属于哪个网站角色(如果用户经过身份验证),为不同的用户显示不同的个网站角色(如果用户经过身份验证),为不同的用户显示不同的网站内容模板(或者说网站内容模板(或者说“视图视图”)。)。【知识集成知识集成 】 9.4.49.4.4ASP.NETASP.NET的注册与登录控件的注册与登录控件 3 3LoginNameLoginName 默认情况下,默认情况下,LoginName控件显示控件显
57、示Page类的类的User属性中包含的属性中包含的名称。如果名称。如果System.Web.UI.Page.User.Identity.Name属性为空,属性为空,则不呈现控件。则不呈现控件。LoginName 控件不能在网页上的控件不能在网页上的标记外部标记外部使用,使用,LoginName不能用于在页面的标题中放置用户名。不能用于在页面的标题中放置用户名。 4 4LoginStatusLoginStatus控件控件 LoginStatus控件有控件有“已登录网站已登录网站”和和“已从网站注销已从网站注销”两种状两种状态,具体为哪种状态是由态,具体为哪种状态是由Page对象的对象的Reque
58、st属性的属性的IsAuthenticated属性决定的。该控件检测用户的身份验证状态,并属性决定的。该控件检测用户的身份验证状态,并将链接的状态切换为登录网站或从网站注销。将链接的状态切换为登录网站或从网站注销。【知识集成知识集成 】5 5ChangePasswordChangePassword控件控件 ChangePassword控件提供了一个可供用户更改其网站密码的用户界面。控件提供了一个可供用户更改其网站密码的用户界面。该控件使用该控件使用MembershipProvider属性中定义的成员资格提供程序来更改属性中定义的成员资格提供程序来更改该网站的成员资格提供程序数据存储区中存储的密
59、码。如果未指定成员资该网站的成员资格提供程序数据存储区中存储的密码。如果未指定成员资格提供程序,格提供程序,ChangePassword控件将使用控件将使用Web.config文件的文件的membership节中定义的默认成员资格提供程序。节中定义的默认成员资格提供程序。 ChangePassword控件使用户可以执行以下操作:(1 1)在登录的情况下更改其密码。)在登录的情况下更改其密码。(2 2)在未登录的情况下更改其密码,条件是包含)在未登录的情况下更改其密码,条件是包含ChangePasswordChangePassword控件的页控件的页面允许匿名访问并且面允许匿名访问并且Displ
60、ayUserNameDisplayUserName属性设置为属性设置为truetrue。(3 3)更改某用户帐户的密码,即使以另一用户的身份登录亦可。这需要)更改某用户帐户的密码,即使以另一用户的身份登录亦可。这需要DisplayUserNameDisplayUserName属性设置为属性设置为truetrue。【知识集成知识集成 】 9.4.59.4.5ViewStateViewState概述概述 ViewState是是Control类的类的1个成员属性。用于获取状态信息的字个成员属性。用于获取状态信息的字典,这些信息可以在同一页的多个请求中保存和还原服务器控件的典,这些信息可以在同一页的多
61、个请求中保存和还原服务器控件的视图状态。例如视图状态。例如Web页面中的数据要实现分页显示时,当前页数和页面中的数据要实现分页显示时,当前页数和排序条件在当前页面应该有效,这时就需要使用排序条件在当前页面应该有效,这时就需要使用ASP.NET中的中的ViewState对象。该对象是一个页面级别的状态保持,只对当前页对象。该对象是一个页面级别的状态保持,只对当前页面有效,并且不影响其他页面的分页效果,不占用系统的面有效,并且不影响其他页面的分页效果,不占用系统的Session资源,当浏览者离开该页面时,资源,当浏览者离开该页面时,ViewState中的信息将被清除。中的信息将被清除。 ViewS
62、tate对象的使用语法格式:对象的使用语法格式:ViewState ViewState 变量名称变量名称=变量值变量值 ; ;【归纳总结归纳总结 】 本章创建了一个简单的网站,该网站包括用户注册页面、用户登本章创建了一个简单的网站,该网站包括用户注册页面、用户登录页面、首页、商品详细信息浏览页面、购物车页面,并对该网站录页面、首页、商品详细信息浏览页面、购物车页面,并对该网站进行了部署与发布。本章应用的数据库连接字符串在进行了部署与发布。本章应用的数据库连接字符串在web.configweb.config文文件中进行配置,对用户数据库件中进行配置,对用户数据库ASPNETDBASPNETDB进行了配置,应用进行了配置,应用ASP.NETASP.NET网网站管理工具对用户和角色进行管理。本章所创建的注册页面和登录站管理工具对用户和角色进行管理。本章所创建的注册页面和登录页面使用注册与登录控件实现,数据源控件使用了页面使用注册与登录控件实现,数据源控件使用了ObjectDataSourceObjectDataSource控件,将数据显示与业务逻辑分离,通过三层架控件,将数据显示与业务逻辑分离,通过三层架构实现网站的功能。构实现网站的功能。