学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> ASPNET >> ASP.NET 2.0高级数据处理之处理控件事件


ASP.NET 2.0高级数据处理之处理控件事件


     
    推荐:ASP.NET数据库专区

  在前面的部分中,你已经看到了几个数据控件事件的例子。数据控件的事件都是在页面执行生命周期的适当时候提供给你,供你插入自定义代码的。一般情况下,在某种特定的操作发生之前和之后,数据控件都会暴露事件。在某种操作之前调用的事件的名称一般带有-ing后缀,而在某种操作之后调用的事件的名称一般带有-ed后缀。例如,GridView所支持的事件包括:

  · PageIndexChanging和PageIndexChanged - 在分页操作之前和之后引发

  · SelectedIndexChanging和SelectedIndexChanged - 在选择操作发生之前和之后引发

  · Sorting和Sorted - 在排序操作之前和之后引发

  · RowEditing和RowCancelingEdit - 在数据行进入编辑模式之前或编辑模式被终止之前引发

  · RowUpdating和RowUpdated - 在更新操作之前和之后引发

  · RowDeleting和RowDeleted - 在删除操作之前和之后引发

  · RowDataBound - 当数据行进行数据绑定的时候引发

  · RowCreated - 当建立了数据行并显示的时候引发

  · RowCommand - 调用内部控件的按钮命令的时候引发

  数据源控件也暴露了一些事件,与数据绑定控件的事件类似。SqlDataSource和ObjectDataSource控件都支持下面一些事件:

  · Selecting和Selected - 在选择操作之前和之后引发

  · Updating和Updated - 在更新操作之前和之后引发

  · Deleting和Deleted - 在删除操作之前和之后引发

  · Inserting和Inserted - 在插入操作之前和之后引发

  · Filtering - 在过滤器操作发生之前引发

  当ObjectDataSource控件的TypeName属性所指定的对象建立或销毁的时候,它还提供了额外的事件。你可以通过设置随事件参数传递的ObjectInstance属性,在ObjectCreating事件中设置自定义的对象。

  · ObjectCreating和ObjectCreated - 在对象被建立之前和之后引发

  · ObjectDisposing - 在对象销毁之前引发

  某种操作之后引发的事件用于编写自定义代码来响应特定的操作,或检查操作的成功/失败状态。例如,你可以检查Update、Insert或Delete操作的RowsAffected,或检查Exception属性以确定在处理过程中是否发生了异常。你还可以设置事件参数的ExceptionHandled属性以防止异常显示在控件或页面上。下面的例子演示了GridView和SqlDataSource的多个事件处理代码,以及引发这些事件的相关次序。

<script runat="server">

Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
 ' 用户在只读模式中点击"编辑"按钮的时候引发
 Response.Write("Row editing...")

 ' 如果GridView已经处于编辑模式,就终止编辑操作
 If Not GridView1.EditIndex = -1 Then
  e.Cancel = True
 End If
End Sub

Protected Sub GridView1_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs)
' 当用户在编辑模式中点击"更新"按钮的时候引发
 Response.Write("GridView: Row updating...<br/>")
 
 '此处可以选择终止事件,例如不允许用户更新数据
 If User.IsInRole("Restricted") Then
  e.Cancel = True
 End If
End Sub

Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs)
 ' 当更新操作完成所时候引发
 Response.Write("GridView: Row updated<br/>")

 If Not e.Exception Is Nothing Then
  ' 此处可以执行自定义的错误处理,完成之后设置ExceptionHandled = true
  e.ExceptionHandled = True
 End If
 ' 可以检测更新操作所影响的行数
 Response.Write("<br />Affected rows: " & Server.HtmlEncode(e.AffectedRows))
End Sub

Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs)
 ' 当用户在编辑模式中点击"取消"按钮的时候引发
 Response.Write("Edit canceled")
End Sub

Protected Sub SqlDataSource1_Updated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs)
 ' 当更新操作完成之后引发
 Response.Write("SqlDataSource: Update complete<br />")
End Sub

Protected Sub SqlDataSource1_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs)
 ' 调用更新操作的时候引发
 Response.Write("SqlDataSource: Updating...")
End Sub
</script>

  下面一个例子演示了一种更特殊的DetailsView的Inserting事件处理情形,它从DetailsView 的FileUpload控件中获取照片文件,在DetailsView完成插入操作(在数据库为该照片文件插入一条记录)之前,把该照片的内容保存到磁盘上。为了演示的目的,实际的文件保存代码都被注释了,你可以自己试验一下。

Protected Sub DetailsView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewInsertEventArgs)
 Dim f As FileUpload = DetailsView1.FindControl("FileUpload1")
 If f.HasFile Then
  ' 保存文件
 End If
End Sub

  与上面的例子类似,下面的例子演示了FormView的ItemDeleted事件,当照片的数据库记录被删除的时候,它把相关的照片文件从磁盘上删除。同样,删除文件的代码也被注释了。

Protected Sub FormView1_ItemDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewDeletedEventArgs)
 If (e.Exception Is Nothing) Then
  ' 删除文件
  Response.Redirect(e.Values("AlbumID"))
 End If
End Sub
技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"ASP.NET 2.0高级数据处理之处理控件事件"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 ASP.NET 2.0高级数据处理之处理控件事件 相关内容
Google搜索中 ASP.NET 2.0高级数据处理之处理控件事件 相关内容
雅虎中 ASP.NET 2.0高级数据处理之处理控件事件 相关内容
Sogou搜索中 ASP.NET 2.0高级数据处理之处理控件事件 相关内容

相关软件 最新回复帖子:

·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效
·用Photoshop通道将模糊肖像照片清晰化


  相关软件 ASP.NET 2.0高级数据处理之处理控件事件相关文章
ASP.NET 2.0高级数据处理之主从数据表 ASP.NET 2.0高级数据处理之处理Null值
ASP.NET2.0+VS2005利器大评析之优点篇 ASP.NET中如何防范SQL注入式攻击
ASP.NET 2.0发送电子邮件中存在的问题 ASP.NET 2.0中层次数据的处理
ASP.NET 2.0的全球化与本地化之全球化 ASP.NET2.0中的全球化与本地化之本地化
在ASP.NET中使用AJAX的简单方法 轻松加密ASP.NET 2.0 Web程序配置信息
ASP.NET 2.0页面性能的考虑 ASP.NET 2.0打造购物车和支付系统之二
ASP.NET 2.0移动开发之设备筛选器的应用 深入Atlas系列之客户端支持
ASP.NET 2.0打造购物车和支付系统之一 ASP.NET 2.0程序安全的基础知识
ASP.NET 应用中大文件上传研究 ASP.NET 2.0发送电子邮件全面剖析之二
ASP.NET 2.0中发送电子邮件剖析之一 ASP.NET2.0中实现图像转换过滤效果