ASP.NET入门教程 8.4 删除记录[3]
操作回顾
这个模式和修改数据的其他方式是一样的 数据源控件必须具有DeleteCommand 在选择Configure Data Source向导的Advancd对话框中的选项时 VWD将为您创建DeleteCommand VWD还创建了一组DeleteParameters 将在WHERE子句中使用这些参数以标识要删除的记录 与UPDATE一样 VWD试图在DetailsView的DeleteParameters中匹配每一个字段 这在某些情况下可能是有必要的 但对我们而言只要匹配FixtureID就可以了
然后激活数据绑定控件的删除功能 从而使得VWD在这个数据绑定控件中添加了一个类型为Delete的CommandField 术语 field 在这里有一些奇怪 因为不存在与数据表中的字段的连接 但它是数据绑定控件的一个附加部分 其呈现类似于一个字段
在完成 本章中的这些练习的时候您可能己经注意到有两种方式可以显示和修改比赛日程 GridView和Details View 当在其中一个控件内编辑数据之后 所做的修改并不会反映到另一个控件中 为处理这个问题需要给数据源控件添加代码 虽然所需的只是一行代码 但是需要在多个位置添加 这是因为有多种方式可以修改数据 可以插入新的赛程安排 编辑已有的赛程记录或删除赛程记录 每一种修改方式都会使SqlDataSource控件触发一个事件 正是在这个事件内必须为其他控件绑定数据
完成这项任务的代码如下所示
Protected Sub SqlDataSource _Deleted(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Deleted
DetailsView DataBind()
End Sub
Protected Sub SqlDataSource _Inserted(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Inserted
DetailsView DataBind()
End Sub
Protected Sub SqlDataSource _Updated(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Updated
DetailsView DataBind()
End Sub
Protected Sub SqlDataSource _Deleted(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Deleted
DetailsView DataBind()
End Sub
Protected Sub SqlDataSource _Inserted(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Inserted
DetailsView DataBind()
End Sub
Protected Sub SqlDataSource _Updated(ByVal sender As Object _
ByVal e As System Web UI WebControls SqlDatasourceStatusEventArgs)_
Handles SqlDataSource Updated
DetailsView DataBind()
End Sub
可以看到对每个控件有 个事件 Deleted事件在删除一条记录后触发 Inserted事件在增加一条新记录后触发 而Updated事件在更新了一条记录之后触发 虽然使用GridView控件显示一组数据 同时使用DetaiIsView控件显示其他数据 这些事件看起来却是一样的 因为触发事件的是SqlDataSource控件 对于GridView控件 该控件绑定到SqlDataSource 需要刷新的是Details View控件 因此DataBind()方法是在这个DetailsView控件上调用的 该方法指示它重新获取数据 对SqlDataSource 的事件也有类似的过程 这些事件由DetailsView使用 但这次DataBind()方法是在GridView 控件上调用的 这是一个简单的过程 当一个控件中的数据发生变化时 刷新另一个控件中的数据
ASP NET 入门教程完整版
lishixinzhi/Article/program/net/201311/14861