操作回顾
这个模式和修改数据的其他方式是一样的数据源控件必须具有DeleteCommand在选择Configure Data Source向导的Advancd对话框中的选项时VWD将为您创建DeleteCommandVWD还创建了一组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 SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceDeleted
DetailsViewDataBind()
End Sub
Protected Sub SqlDataSource_Inserted(ByVal sender As Object _
ByVal e As SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceInserted
DetailsViewDataBind()
End Sub
Protected Sub SqlDataSource_Updated(ByVal sender As Object _
ByVal e As SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceUpdated
DetailsViewDataBind()
End Sub
Protected Sub SqlDataSource_Deleted(ByVal sender As Object _
ByVal e As SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceDeleted
DetailsViewDataBind()
End Sub
Protected Sub SqlDataSource_Inserted(ByVal sender As Object _
ByVal e As SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceInserted
DetailsViewDataBind()
End Sub
Protected Sub SqlDataSource_Updated(ByVal sender As Object _
ByVal e As SystemWebUIWebControlsSqlDatasourceStatusEventArgs)_
Handles SqlDataSourceUpdated
DetailsViewDataBind()
End Sub
可以看到对每个控件有个事件Deleted事件在删除一条记录后触发Inserted事件在增加一条新记录后触发而Updated事件在更新了一条记录之后触发虽然使用GridView控件显示一组数据同时使用DetaiIsView控件显示其他数据这些事件看起来却是一样的因为触发事件的是SqlDataSource控件对于GridView控件该控件绑定到SqlDataSource 需要刷新的是Details View控件因此DataBind()方法是在这个DetailsView控件上调用的该方法指示它重新获取数据对SqlDataSource的事件也有类似的过程这些事件由DetailsView使用但这次DataBind()方法是在GridView 控件上调用的这是一个简单的过程当一个控件中的数据发生变化时刷新另一个控件中的数据
ASPNET 入门教程完整版
[] [] []