《-小明音乐库管理系统课件06第6章PPT内容-.docx》由会员分享,可在线阅读,更多相关《-小明音乐库管理系统课件06第6章PPT内容-.docx(11页珍藏版)》请在优知文库上搜索。
1、”小明音乐库管理系统课件06第6章PPT内容”1、小明音乐库管理系统第6章实现后台管理学习目标把握数据列表页面的设计,以及增加、修改、删除操作页面的设计。了解网站页面文件的分文件夹保存原则。理解母版页的概念,把握创建和使用母版页的方法。理解ASP.NET中URL路径的处理。娴熟把握SQL语句INSERTUPDATE,理解SQL语句集合操作的特性。娴熟把握SQL语句DELETE,了解主从记录在删除操作时的两种处理方法。理解ReSPOnse.Redirect。页面重定向方法的工作原理。把握编辑数据页面、删除数据页面的ASP.NET实现方法,把握ASRNET隐蔽控件HiddenField的使用技巧。
2、了解SQL注入攻击。把握ASRNE2、T下拉框DropDownList控件的使用。把握ASP.NET文件上传FiIeUPIOad控件的使用,把握上传文件的处理方法。把握SQLServer通过IDENITY猎取新增记录ID的方法。6.1界面设计后台页面通常用于完成网站数据的维护,也就是数据的增加、修改和删除。对于MPMM来说,就是音乐分类和音乐资料数据的维护1.音乐分类维护页面音乐分类维护主页面添加和修改音乐分类添加和修改音乐分类的页面基本相同,统一到单个编辑页面删除页面和编辑页面类似的界面增加删除确认提示修改按钮标题将文本框控件设置为只读模式2.音乐资料维护页面主页面和音乐分类维护主页面基本相
3、同增加和修改音乐资料的页3、面通过选择的方式来指定音乐分类、媒体类型能上传图片能够上传对应的音乐文件删除音乐页面MUSiCDeIete.apsx,没有什么特殊之处3.母版页技术MPMM中页面不多,可将全部后台页面保存到Admin文件夹中修改导航链接MPMM每个页面的整体布局都有导航链接打开每个页面分别进行修改ASP.NET供应了母版页的功能使用母版页,不同的页面可以共享同一个布局通常把使用母版页的页面称为子页面1)添加母版页母版页后台类继承自System.Web.UI.MasterPage类母版页基本上就是一个ASP.NET页面可以从Default.aspx中复制主要的页面代码母版页界面代码2
4、)占位控件母版页中使用4、ASP.NET控件ContentPIaceHoIder替换原来的分类导航列表和音乐资料列表为详细页面内容占位置的“占位控件子页面必需有和占位控件相同数量的内容控件来供应最终的实际内容3)网站肯定路径母版页被不同文件下的子页面所使用时母版页中的URL不能使用相对路径(相对于子页面,子页面位置不固定)母版页也不能使用肯定路径(不适用于子站部署方式)从网站开头的肯定路径表示方法嵌入页面的ASP.NET代码4)使用母版页创建新ASP.NET页面时选中选择母版页选项CategoryMgraspx页面完整代码6.2数据更新功能SQL语言中,用于实现数据增、册k改功能的语句主要就5
5、、是三条:INSERTDELETE和UPDATE,留意它们也是以集合为单位进行操作的LlNSERT-新增1条记录默认字段清单自增长列、时间戳列无需供应值不赋值的字段,需显式供应NULL值指定字段清单自动生成值、设置有默认值、允许为空的字段可以跳过字段挨次可以随便,VALUES子句供应值挨次和其保持全都1.1NSERT-批量新增记录给CategOry表中每条记录增加一个默认下级分类查询和新增分两步进行,子查询就是标准的SELECT查询语句,可以很简单子查询结果列可用计算列,计算列可以是很简单的表达式INSERT语句只关怀子查询列的挨次,不关怀查询结果的列名2.UPDATE省略WHERE子6、句,
6、就表示更新表中全部数据2.UPDATE-表达式赋值查询的结果是一个唯一值,就可以将查询当作一般的值集合更新要当心,做试验时,先做好数据库备份3.DELETE删除表用DRoPTABLE外键约束:在定义外键时选择拒绝删除方式,存在从记录的状况下无法删除主记录选择级联删除的方式,在删除“主记录之前会自动删除全部的从记录绝大部分状况下,开发人员应当选择拒绝删除的方式省略WHERE子句,表示删除表中全部数据6.3音乐分类管理L主页面CategoryMgr.aspx页面页面布局通过表格实现第一行为添加按钮其次行为一个Literal控件,用于放置代码生成的管理列7、表页面初始化代码页面初始化时,需要生成分类
7、的管理列表分类的信息列表和修改、删除的超链接在Page_Load()方法中调用BUildCategoryLiSto方法实现不存在处理回发恳求的问题,所以不需要检查IsPostBack属性值BUildCategoryLiSt()方法在读取数据前,先为表格添加了一行标题表格标题行也用标记定义,但其中的列用标记定义标记和标记用法完全一样,语义上前者表示标题,后者表示内容在MPMM中,不考虑实现多级音乐分类,尽管数据库中有上下级分类的设计程序代码中通过WHEREParentJDISNULL将全部下级音乐分类都过滤掉描述字段的处理采纳了超长截断自定8、义工具类CommonTooIs的静态方法TrimBy
8、Length()修改,和删除超链接通过GET方法传递需要修改或删除的分类ID字段值页面重定向双击页面上的添加按钮,在页面类中添加用于处理单击大事的btAdd_Click()方法RedirectO方法在返回的HTML页面中放置一条HTML跳转指令;扫瞄器收到HTML代码时依据指令重新向服务器发出访问CategoryEdit.aspx页面的恳求2.编辑页面1)在Admin文件夹下添加CategoryEdit.aspx页面页面布局仍旧通过表格实现第一列为Lable文本标签控件其次列是TextBox文本框控件页面代码输入描述的TeXt9、BoX文本框使用多行模式表格最下面两行内容是保存和取消按钮,以及
9、一个用于显示提示信息的Lable控件2)HiddenField控件HiddenFieId控件,对应HTML表单中的隐蔽域元素HiddenFieId控件和TextBox控件一样,可以在发给客户端扫瞄器的HTML代码中保存一个值当扫瞄器向服务器提交恳求时,作为Form表单数据的一部分发送给服务器这个控件不会显示在扫瞄器中,所以叫做隐蔽控件隐蔽控件可以让页面携带一些信息,并在收到用户发出的P。StBaCk恳求时取回这个信息音乐分类编辑页面,通过ID属性值为NdeID的隐蔽控件保存当前正在编辑的音乐分类ID字段值3)页面初始10、化编辑页面的初始化只在首次恳求页面时才需要进行ASRNET利用JiewS
10、tate隐蔽控件在两次恳求之间保存ASRNET控件的值,所以无需反复对回发页面设置这些控件的值页面中保存和取消按钮触发的P。StBaCk恳求,已经被ASP.NET转化为大事方式只需在相应的大事处理方法中完成处理页面初始化代码添加或修改音乐分类恳求的区分在于查询字符串变量id添加操作,设置hidelD控件值为。修改操作,从数据库猎取音乐分类,将其各字段值赋给对应输入控件,将音乐分类ID字段值保存在hidelD中修改操作初始化时,假如从数据库猎取音乐分类失败,则hidelD控件值会保留为-14)新增和修改音乐11、分类编辑页面中“取消按钮的功能只需要重定向(使用Redireeto方法)返回到音乐分
11、类管理主页面保存按钮的功能依据hidelD控件值推断操作类型和需要修改的音乐分类执行相应的SQL语句代码hidelD控件值通过Value属性猎取,通过Int32.TryParse()方法转换成整型,保存在变量CatId中通过DbCommand对象执行SQL语句INSERT和UPDATE应当调用EXCUteNOQUery()方法,通过该方法返回SQL命令影响的记录数推断SQL语句是否执行胜利3.SQL注入攻击当需要把一些变量等的值嵌入到SQL语句中时,通过拼装字符串的方法来实现代码特别简洁,但存在着平安12、隐患在推断网站可能用参数(查询变量或表单变量)构造SQL语句时,通过奇妙构造参数,使得网
12、站执行特定SQL语句入侵者可以修改URL中传递的id值,将其改为以下字符串:4.删除页面1)页面代码删除音乐分类页面和编辑音乐分类页面的布局基本相同修改TextBox控件为只读修改保存按钮标题为删除即可“删除按钮以及删除确认提示的页面代码为:2)页面初始化代码和编辑页面中处理编辑操作的代码一模一样考虑将其提取为一个公共方法3)删除音乐分类删除按钮的处理需要构造删除音乐分类的SQL语句使用DbCommand对象的ExcuteNoQueryO方法代码首先分析hidelD隐蔽控件值,猎取需要删除13、的音乐分类ID字段值假如需要删除的记录已经由于某种缘由被删除了,那么影响的记录数就是0,认为删除是胜
13、利删除可能消失的外键约束错误,通过trycatch代码进行捕获,并提示用户检查是否存在属于该音乐分类的音乐资料6.4音乐资料管理在Admin文件夹下新建音乐资料管理的主页面MusicMgnaspxo除了涉及的表、字段不一样,其布局和音乐分类管理的主页面基本相同,后台的实现也基本相同1.编辑页面初始化1)在Admin文件夹下新建MUSiCEdit.aspx页面表格布局:共设4列第1、3列为字段标题第2、4列为输入控件第1行的3、4列,输入音乐资料具体描述的TextBox控件,占据7行下拉列14、表:音乐资料有两个外键,所属音乐分类的CategoryJD字段、媒体类型MediaType字段用下拉列
14、表(DroPDoWnLiSt)控件,让用户选择直观的选项,程序自动转换选项为数据库中实际存储的值文件上传:图片和媒体文件是通过上传(FiIeUPIOad)控件来实现设置显示文件信息的Label控件删除文件的按钮。页面核心代码2)下拉列表ddlCategory下拉列表用于音乐分类的选择,ddlMediaType下拉列表用于媒体类别的选择ASP.NET的DrOPDOWnLiSt控件对应HTML表单中的标登记拉列表可供选择的清单,通过控件的Items属性设置Items属性是一个Listltem对象15、的集合创建Listltem对象的代码为newListItem(text,vaIue)text参数指
15、定选项显示内容,value参数指定选项取值ddlCategory下拉列表展现音乐分类名称,实际保存分类的ID字段值SELECTIDzNameFROMCategoryWHEREParentJDISNULLSELECTCodezNameFROMCodeNamesWHERECodeFor=Music.MediaType设置下拉列表的当前选项音乐资料修改页面,需要显示音乐资料的当前音乐分类依据音乐资料的CategoryD字段值设置ddlCatgory下拉列表的当前项通过设16、置DropDownList控件Selectedltem属性,依据Listltem选项对象或SeIectedVaIue属性,依据
16、Listltem选项值或Selectecllndex属性,依据Listltem索引号(从O开头)3)页面初始化代码音乐资料编辑页面初始化和音乐分类编辑页面初始化的原理相同详细设置相对简单一些删除文件的btRemovePhoto和btRemoveMediaFile按钮,只有在存在相应文件的时候才需要通过按钮的Visible属性来掌握按钮是否可见Visible=true表示控件可见;否则就是不行见控件不行见,最终生成的页面上没有这个控件隐蔽控件是存在的,只是扫瞄器不显示这个控17、件而已无法用控件的不行见来代替隐蔽控件2.上传文件管理1)文件上传控件FiIeUpIoad文件上传控件对应HTML表单中的标记在页面扫瞄时展现成一个文本框和一个扫瞄按钮单击扫瞄按钮打开客户端本地的打开文件对话框选择文件后,文本框显示该文件的全路径名称此时文件并没有上传服务器页面被回发时(如单击表单保存按钮后),文件数据才会作