本章最后对上传文件的页面进行改善同时在这个过程中回顾一下本章和第章第章中的一些概念将添加一个功能在上传图片的时候在数据库的Gallery表中添加一条记录换句话说既上传一个文件又创建一条新记录下面的几个段落简要介绍您的任务在试一试练习中再具体分析
首先使用Data Explorer查看一下Gallery表的结构每条记录表示一个由球迷上传的文件其中包含球迷的名字图片文件的URL日期和对手等字段
现在需要向页面添加输入控件以获取Gallery表的字段需要的信息无论何时只要有可能都应该避免让用户输入信息在这里比赛的场次通常比较少所以为该输入创建一个ListBox控件为ListBox提供数据的SelectCommand将为用户显示比赛的日期FixtureID将是ListBox控件的Value还要使用文本框收集用户的名字和评论
现在介绍在表中插入新记录的技术通过设置SqIDataSource控件来实现这个功能该控件已经激活了插入功能但不需要显示任何数据所以这个数据源控件没有数据绑定控件Insert方法内建于SqlDataSource内可以在按钮的Click事件过程内通过代码调用
在这个试一试练习中您改善了图片的上传功能使得在上传图片文件之后为该图片文件在Gallery表中创建一条记录
()用VWD打开Solution Explorer并使用下面的操作创建一个GaleryUploadaspx页面的副本在文件列表中找到该文件但不打开GalleryUploadaspx页面右击并选择Copy右击站点的根目录并选择Paste现在找到名为Copy of GalleryUploadaspx的页面将其重新命名为GalleryUploadEnhancedaspx这个过程同时也复制和重命名了相关的代码文件
()在Design View下处理GalleryUploadEnhancedaspx将插入条移动到FileUpload控件的下面添加ListBox从智能任务面板中打开Configure Data Source向导使用一个数据源并将该控件命名为SqlDataSourceFixtures使用WroxUnited连接字符串并设置该数据源只显示FixturelD和FixtureDate字段按日期排序在向导的最后一步中将DataTextField的ListBox属性设置为日期并将DataValueField设置为FixtureID
()为球迷的名字和关于图片的评论添加两个TextBox控件在Properties窗口中将两个控件的ID分别设置为Tex}BoxMemberName和TextBoxNotes为它们添加标签让用户知道应该在文本框中输入什么内容
()在页面上添加另一个SqlDataSource配置它为上传的图片在Gallery表中创建记录将其命名为SqlDataSource使用它的智能任务面板配置这个数据源控件并使用WroxUnited连接字符串使用Gallery表并选择所有的字段在Advanced对话框中勾选创建INSERT DELETE和UPDATE命令的复选框单击Next和Finish按钮如果需要可以切换到Source View中删除实现UPDATE和DELETE功能的命令和参数这里不会使用这些命令所以删除它们会使代码更整洁但留下它们也不会造成任何干涉注意不要删除属性的双引号结束符或标记的符号
ASPNET 入门教程完整版
[] [] []