摘要
一般执行新增/修改完毕准备异动数据库前通常会做一层数据正确性检查的动作当我们使用 GridView 系结 SqlDataSoruce 来呈现数据若 GridView 进行数据编辑存盘前也要做字段值的检查应该在如何做呢应该在那个控件的那个事件去处理这个检查动作呢
程序说明及实作
首先在页面上放置一个 GridView 及 SqlDataSource 控件GridView 设为可编辑状态
当 GridView 编辑储存时我们要先做一些字段值正确性的检查动作以下的范例为测试示范只判断 LastName 字段不得为空这种必填字段的判断一般只要使用 RequiredFieldValidator 控件在 Client 端即可
方法一在 GridView 的 RowUpdating 事件处理字段检查
GridView 在编辑储存前会引发 RowUpdating 事件我们可以在此事件中处理字段检查字段检查的程序代码如下当字段检查不合法时设定 eCancel = True 即可中断数据更新的动作执行程序故意将 LastName 清空然后按 [更新] 钮进行储存字段检查的动作就被执行了
方法二在 SqlDataSource 的 Updating 事件处理字段检查
对于 SqlDataSource 来说编辑数据异动数据库之前会引发 SqlDataSource 的 Updating 事件
字段检查的程序代码如下当字段检查不合法时设定 eCancel = True 即可中断数据更新的动作这种方式的执行结果跟上个作法一样
ProtectedSubGridView_RowUpdating()SubGridView_RowUpdating(ByValsenderAsObjectByValeAsSystemWebUIWebControlsGridViewUpdateEventArgs)HandlesGridViewRowUpdating
DimsScriptAsString
IfStringIsNullOrEmpty(eNewValuesItem(LastName))Then
sScript=alert(LastName栏位不得为空)
MeClientScriptRegisterStartupScript(MeGetTypeerrorsScriptTrue)
eCancel=True
EndIf
EndSub