《ASP NET程序设计案例教程》课件第5章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《ASP NET程序设计案例教程》课件第5章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP NET程序设计案例教程 ASP NET程序设计案例教程课件第5章 ASP NET 程序设计 案例 教程 课件
- 资源描述:
-
1、第5章 模块4商品信息管理5.1 【任务10】商品信息查询5.2 【任务11】商品信息的添加、修改和删除【本章提要本章提要】商品的查看、添加、删除和修改操作是校园在线超市系统中的主要功能。本章通过介绍数据源控件SqlDataSource、数据绑定控件GridView、FormView和文件上传控件FileUpLoad的使用,结合DataSet和DataAdapter对象,详细介绍了商品信息管理各项功能的实现。【学习目标学习目标】掌握SqlDataSource控件。掌握GridView、FormView控件的使用。掌握文件上传控件FileUpLoad。掌握DataSet对象和DataAdapte
2、r对象的使用。任务描述任务描述任何用户在访问电子商务类的网站时,通常会对感兴趣的商品进行查找。因此在校园在线超市中,进行商品信息查询是非常必要的。查询时,应能根据商品名称、商品类型等信息进行查询。5.1 【任务任务10】商品信息查询商品信息查询 必备知识必备知识知识知识1 SqlDataSource控件控件1.SqlDataSource控件控件在ASP.NET2.0中,数据访问系统的核心是数据源控件。一个数据源控件代表数据(数据库、对象、XML、消息队列等)在系统内存中的映像,能够在Web页面上通过数据绑定控件展示出来。为了适应对不同数据源的访问,ASP.NET2.0提供了五个内置数据源控件:
3、SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource和SiteMapDataSource。ASP.NET 2.0新的数据源控件提供了新的声明方式来处理数据,使用这些控件,只需很少的代码或无需任何代码就可从数据库中检索数据。本节以SqlDataSource控件为例,体验ASP.NET2.0强大的数据访问能力。SqlDataSource可用于任何具有关联ADO.NET提供程序的数据库,包括Microsoft SQL Server、OLE DB、ODBC和Oracle数据库。在配置时,SqlDataSource使用的SQL语法以及
4、是否可使用更高级的数据库功能均由所用的数据库决定。数据源控件对于所有数据库的操作都是相同的。下面通过一个实例演示SqlDataSource控件实现对数据库的数据访问。【例5-1】查询商品类型表T_WareType中商品类别的名称,并将查询结果置于下拉列表控件DropDownList1中。首先,新建名为Test.aspx的Web页,在设计视图下双击数据分类项中的SqlDataSource控件就会添加一个SqlDataSource到当前页面。鼠标单击SqlDataSouce时会出现一个小三角箭头(即“智能标记”按钮),如图5-1所示。图5-1 配置SqlDataSource数据源SqlDataSo
5、urce控件的HTML标签:单击配置数据源,出现如图5-2所示的页面。图5-2 创建数据库连接单击新建连接,弹出如图5-3所示的对话框,进行数据源的配置。默认情况下连接到SQL Server数据库,通过单击“更改”可对Access数据库文件、ODBC数据源、SQL Server数据库、SQL Server手机版数据库、SQL Server数据库文件、Oracle数据库文件等进行配置。图5-3 设置数据库连接在图5-3对话框中,设置服务器名及服务器登录方式,并选择要连接的数据库,如图5-3所示。值得注意的是,如果要连接的数据库服务器与开发者的机器在同一个局域网里,可以使用局域网IP地址或者局域网
6、中的电脑主机名;如果要连接的数据库服务器与开发者的机器不在同一个局域网内,那么就要求数据库服务器必须有一个公网IP;如果要连接的数据库服务器与开发者所使用的机器是同一台机器,则可以使用“(local)”、“.”或者“127.0.0.1”来标识。单击“测试连接”按钮,如果弹出连接成功的提示消息,就表示这个数据库连接是可用的。单击“确定”按钮,回到“配置数据源”界面,这时点击连接字符串旁边的“+”按钮就可以看到数据库的连接字符串信息,如图5-4所示。图5-4 选择数据库连接单击“下一步”按钮,出现如图5-5所示的页面,可以将连接字符串保存到应用程序配置文件(Web.Config)中,这样,原来多数
7、读者为之苦恼的连接字符串就轻松地创建好了。图5-5 保存数据连接字符串到Web.config接下来就要配置SQL语句了,读者可以根据两种方式从数据库中检索数据:一种是自定义SQL语句或存储过程;另一种是指定来自表或视图的列,如图5-6所示。图5-6 配置数据库查询这里,选择查询商品类别表T_WareType中的所有列,读者也可以根据需求,对数据进行筛选、排序等。单击“下一步”按钮,最后点击“完成”按钮。通过上述步骤,完成了对SqlDataSource数据源的配置。那么,怎样将配置好的数据源绑定到指定的数据控件呢?在页面中,添加一个DropDownList控件,单击该控件右边的“智能标记”按钮,
8、单击“选择数据源”,出现如图5-7所示的对话框。图5-7 选择数据源选择数据源为“SqlDataSource1”;选择要在DropDownList中显示的数据字段为“splb_TypeName(商品类别名称)”;为DropDownList的值选择数据字段为“splb_TypeID”,单击“确定”按钮。切换Test.aspx页至源视图,.NET生成的页面代码如下:asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString=SelectCommand=SELECT*FROM T_WareType 从页面代码可以知道,SqlDa
9、taSource控件的两个重要属性如下:ConnectionString:设置为用于特定数据库的连接字符串。为使Web应用程序更易于维护,并且安全性更高,通常将连接字符串存储在应用程序配置文件的connectionStrings元素中,如上述代码所示。SelectCommand:指定该控件要执行的SQL查询。在浏览器中查看Test.aspx页面效果,如图5-8所示。图5-8 SqlDataSource数据源控件筛选数据从上例可以看出,通过SqlDataSource数据源控件,不用书写一行代码,就可完成对数据库中数据的检索,大大地提高了应用程序的开发效率。2数据绑定控件数据绑定控件像DropDo
10、wnList一样,可以配置数据源的控件,称为数据绑定控件。常用的数据绑定控件有DropDownList、ListBox、GridView、DataList、FormView、Repeater等。在ASP.NET 2.0中,所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,它定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID,显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据
11、并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。在使用数据源时,会先尝试使用DataSourceID属性标识的数据源,只在没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说,DataSource和DataSourceID两个属性不能同时使用。知识知识2 GridView控件控件1.GridView控件概述控件概述在使用ASP.NET开发Web应用程序的过程中,GridView是一个非常重要的控件,几乎任何与数据相关的显示都要用到该控件。所
12、以熟练掌握GridView控件的应用技巧是每个Web开发人员所必备的基本能力。GridView控件是ASP.NET1.1下DataGrid控件的替代品,它以表格的形式显示数据源的值,每列表示一个字段,每行表示一条记录。该控件提供了诸如内置排序功能、内置更新和删除功能、内置分页功能、内置行选择功能、以编程方式访问GridView对象模型、动态设置属性、处理事件等功能。同时,它还可以通过主题和样式自定义外观,实现多种样式的数据展示。表5-1列举了GridView控件的常见属性。本节我们将介绍GridView控件常用的应用技巧。表5-1 GridView控件常见属性2.格式化格式化GridView在
13、软件项目开发时,功能的实现固然重要,但界面的呈现风格也是不容忽视的,友好、和谐的界面风格能为软件增色不少。有两种方式可对GridView控件的样式进行调整。一种方式是通过“智能标记”下的“自动套用格式”菜单,这种方式简单、直观,可以直接在窗口上看到最终格式化的效果,如图5-9所示。设置步骤如下:添加SqlDataSource控件,并配置数据源。添加GridView控件,单击“智能标记”菜单,选择数据源为SqlDataSource1。单击自动套用格式对话框中的“选择方案”列表中合适的样式,可以通过“预览”部分查看所选择格式的效果。图5-9 设置GridView控件另一种方式是通过设置GridVi
14、ew控件不同部分的样式属性来自定义该控件的外观。这些样式包括一些基本的样式,如BackColor、BorderStyle等。3.自定义列自定义列如果需对Gridview控件中每一列自定义格式,则需单击“智能标记”中的“编辑列”,弹出如图5-10所示的对话框,这样就可以对每列进行详细的设置了。图5-10 GridView控件中自定义列表5-2 GridView控件中的列 绑定列:用于显示数据源中一列的信息。对于要显示的每个数据列,通常都对应于一个绑定列,需要显示几个字段,就加入几个绑定列。使用绑定列还可以设置相关属性。例如,列标头和列脚注的文本、字体、颜色、列宽、数据格式以及列是否为只读(当行编
15、辑模式时,它是否会显示可编辑控件)等。当字段数固定时可选用绑定列。添加绑定列界面如图5-11所示。图5-11 自定义列属性设置添加绑定列后,其HTML标签代码如下:复选框列:用于显示布尔型数据字段的值。由于复选框只能显示选定的或未选定的状态,因此,复选框列只能绑定到具有布尔型数据类型的字段。通过设置DataField属性完成列的绑定,还可通过设置Text属性为复选框添加标题。添加复选框列后,其列标签代码如下:超链接列:用于显示各行中的链接。超链接的文本可以指定,也可以从数据列中导出链接文本。同样,超链接的URL可以指定或者从数据源中获取。例如,当用GridView显示商品列表时,加超链接后,通
16、过传递主键参数,就可以在另外一个页面上显示商品的详细信息。其HTML标签代码如下:此超链接利用查询字符串将sp_WareID的值传递到Details.aspx页。图像列:可以为所显示的每个记录显示图像。只需将图像列绑定到包含图像URL的数据源中的字段上,这可通过设置DataImageUrlField 属性完成。可以通过使用DataImage UrlFormatString属性来设置URL值的格式。当添加图像列后,其对应的HTML标签代码如下:每个图像还可以具有与之相关联的备用文本,当无法加载图像或图像不可用时,将显示此文本。可以使用以下方法之一为所显示的图像指定备用文本:使用Alternate
17、Text 属性指定图像的备用文本。使用DataAlternateTextField 属性可将数据源中的字段绑定到每个图像的AlternateText属性。这可用于为每个显示的图像选择不同的备用文本。绑定数据时,还可以使用DataAlternateTextFormatString 属性格式化备用文本。按钮列:可以创建“编辑”、“更新”、“取消”和“删除”功能的按钮。当GridView处于编辑模式时,“编辑”按钮被替换为两个按钮:“更新”按钮和“取消”按钮。此功能适用于字段内容不长的数据维护。当添加按钮列后,其对应的HTML标签代码如下:模板列:在使用GridView显示数据时,对每列进行单独控制
18、。例如,在校园在线超市系统中,当显示商品列表时,除显示商品的基本信息外,还需显示商品所属的分类,而分类数据存放于另外一张数据表中,这时,希望通过TextBox控件来显示每个商品的分类信息。使用GridView的模板列可以很方便地实现自定义列。下面阐述图形界面对模板列进行设计的过程:新增模板列。选择GridView控件智能标签菜单的“编辑列”,系统显示如图5-10所示界面。在可用字段中,将出现TemplateField字段,单击“添加”按钮,在“选定的字段”列表中,将出现“TemplateField”字段,这时可在其对应的属性栏中设置相应的属性。对模板列进行编辑和设计。在设计视图中,选择Grid
19、View的智能标记菜单中的“编辑模板”项,在系统显示的“GridView”任务窗口中,选择新增的模板列,系统将显示如图5-12所示的界面。图5-12 GridView模板编辑表5-3 GridView控件中的模板类型根据不同的模板,可以在模板容器中选择不同的控件,然后进行数据绑定设置。下面的代码在ItemTemplate模板项中添加标签控件Label1,并将其绑定到商品类别的ID上:asp:Label ID=Label1 runat=server Text=上述代码中,Eval方法可将控件绑定到数据,当用户修改数据值时,可以用Bind方法进行数据绑定。下面讨论采用GridView控件显示两个数
20、据表信息的方法。【例5-2】使用GridView控件显示商品记录列表,并在GridView中添加一个模板列,用来显示商品类别的名称,如图5-13所示。图5-13 使用模板列在界面文件中绑定列和模板列的代码如下:asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString=SelectCommand=SELECT sp_WareID,sp_WareName,sp_Price,splb_TypeID,sp_Checked FROM T_Ware需要注意的是,GridView中记录的每一行都有商品类别,这就要求通过商品类别编号(s
21、plb_TypeID)作为参数,以获取商品类别的名称,并赋给模板列中的Label1。这需要对GridView控件的RowDataBound事件编写代码,该事件是在数据绑定时触发的。代码如下:protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)if(e.Row.RowType=DataControlRowType.DataRow)/获取每一行的商品类别的ID int typeID=Convert.ToInt32(DataBinder.Eval(e.Row.DataItem,splb_TypeID);
22、/获取某商品类别ID的名称 string str=TypeName(typeID);/在GridView的行中查找名为“Label1”的控件 Label lbl=(Label)e.Row.FindControl(Label1);lbl.Text=str;下面的TypeName方法用来读出指定商品类别编号(splb_TypeID)的商品所对应的商品名称:protected string TypeName(int typeID)string s=;string str=select splb_TypeName from T_WareType where splb_typeid=+typeID;Sq
23、lConnection string strconn=ConfigurationManager.ConnectionStringsSMDBConnStr.ConnectionString;conn=new SqlConnection(strconn);conn.Open();SqlCommand cmd=new SqlCommand(str,conn);SqlDataReader sdr=cmd.ExecuteReader();if(sdr.Read()s=sdrsplb_TypeName.ToString();conn.Close();return s;4.分页分页ASP.NET2.0中的G
24、ridView控件内置分页,可以使用默认分页用户界面和创建自定义的分页界面。使用GridView控件的界面方式可以很方便地实现分页。在VS2005中的设计视图中,单击GridView的“智能标记”菜单的“启用分页”项,就可以实现自动分页,如图5-14所示。图5-14 启用GridView控件分页也可以通过编程方式将GridView控件的AllowPaging属性设置为True,并通过PageSize属性来设置页的大小,还可通过设置PageIndex属性设置GridView控件的当前页。使用PagerSettings属性进行分页的UI设计,常用的模式如表5-4所示。表5-4 GridView控件
25、的分页模式界面方式设置控件的PagerSettings属性对应的HTML标签代码如下:用户也可以通过程序代码设置PagerSettings的Mode属性来自定义分页模式,如:GridView1.PagerSettings.Mode=PagerButtons.NextPrevious;GridView1.PagerSettings.NextPageText=下一页;GridView1.PagerSettings.PreviousPageText=上一页;5.排序排序像分页一样,可以像启用分页功能一样启用GridView控件的排序功能,也可以通过编程的方式将AllowSorting属性设置为tru
展开阅读全文