22-为删除数据添加客户端确认.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
22-为删除数据添加客户端确认课案

 PAGE \* MERGEFORMAT 9 导言 在前面一些教程中,我们已经看到如何使用应用程序框架,ObjectDataSource,以及那些提供增、改、删功能的数据Web控件。在我们已经实现的删除数据的界面中,包含一个删除按钮,当点击它的时候,会导致数据回传以及调用ObjectDataSource的Delete()方法。然后Delete()方法会调用对应业务逻辑层中的方法,再进入数据访问层,直至调用最终操作数据库的DELETE语句。 虽然这个界面已经能够让用户通过GridView,DetailsView,或者FormView控件来删除记录,但是在用户点击删除按钮的时候,它缺少一些提示信息。如果用户本想点击编辑按钮,但是不小心点击了删除按钮,那么原本会更新的记录将会被删除。为了避免此类事情发生,在这篇教程里面,我们将为点击删除按钮的时候,添加一个能在客户端显示提醒的窗口。 JavaScript的confirm(string)方法将在一个模式窗口中显示那些作为string参数传进来的文本,这个窗口将会显示两个按钮-确定(OK)和取消(Cancel)。(见图1)confirm(string)方法将根据点击不同的按钮来返回一个布尔类型值。(返回true,如果点击了确定(OK),返回false如果点击了取消(Cancel)) 图1:JavaScript的confirm(string)方法显示一个模式的,客户端的窗口 在一个表单的提交过程中,如果从客户端的事件处理器返回一个false值,那么这个表单将取消提交。使用这种特性,我们可以在这个删除按钮的客户端事件处理器 onClick中,调用confirm(“你确定要删除这个产品吗?”),让它返回一个布尔值。如果用户点击了取消,confirm(string)将返回false,因此会取消表单的提交。在没有回传的前提下,这个已经点击了删除按钮的产品并没有被删除。相反,如果在确认窗口中用户点击了确定,回传将会继续而且这个产品将会被删除。参考 使用JavaScript的confirm()方法控制表单提交 来获取这方面的更多信息。 在添加这些有用的客户端脚本时候,使用模版和使用一个CommandField相比,将会有一些细微的差别。因此,在这篇教程中,我们将同时考察FormView和GridView的例子。 注意:正如这篇教程中讨论到的,使用客户端确认技术时候,我们假设用户的浏览器支持JavaScript并且已经启用了JavaScript支持。如果这其中的任何一个假设不能满足,那么点击删除按钮的时候将会立即进行回传而不会显示一个确认窗口。 ?第一步:新建一个支持删除的FormView 首先在EditInsertDelete目录下面,创建ConfirmationOnDelete.aspx页面,并添加一个FormView控件,然后给这个控件绑定一个ObjectDataSource,这个数据源控件将从ProductsBLL类的GetProducts()方法获取产品信息。同时给它的Delete()方法绑定指向ProductsBLL类的DeleteProduct(productID)方法。确保INSERT和UPDATE标签的下拉框中为(None)。最后,在FormView的属性窗口中勾上Enable Paging多选框。 通过这些步骤,创建了一个以下语句声明的ObjectDataSource: asp:ObjectDataSource ID=ObjectDataSource1 runat=server DeleteMethod=DeleteProduct ??? OldValuesParameterFormatString=original_{0} SelectMethod=GetProducts TypeName=ProductsBLL ??? DeleteParameters ? asp:Parameter Name=productID Type=Int32 / ? ???? /DeleteParameters /asp:ObjectDataSource 因为在我们前面的例子中没有使用到optimistic concurrency,可以把OldValuesParameterFormatString属性删掉。 因为这个FormView已经被绑定到一个仅仅支持删除的ObjectDataSource控件,在ItemTemplate中我们只要提供删除按钮,而不需要新建和更新按钮。而在FormView的声明标记中,可以删掉我们不再需要的EditItemTemplate以及InsertItemTemplate。稍微花点时间定制一下ItemTemplate以便只显示一组产品属性。我已经定制好了,用h3样

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档