asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET入门教程 6.6 取消事件[1]


发布日期:2020年08月30日
 
ASP.NET入门教程 6.6 取消事件[1]

到目前为止您在本章中己经看到了触发单个事件的控件Button和ImageButton控件都能触发Click事件而其他控件则会触发其他事件您可能已经注意到每个控件都有多个可以触发的事件但可能没有意识到单个操作可能会触发多个事件例如在更新数据的时候会触发Updating和Updated两个事件与此类似在添加新数据时会触发Insertin盯nserted事件对而在删除数据时会触发Deleting/Deleted事件对现在时事件(例如Inserting)在操作执行时触发而过去时事件(例如Deleted)在事件执行之后触发例如在删除一行数据的时候Deleting事件在数据删除之前触发而Deleted事件在数据删除后再触发

对于有些事件由于它们在实际操作执行之前触发这就使得您有机会取消事件例如考虑EditSquadaspx文件球队老板可以在这里修改球队成员一件老板需要确保的事情是任何在赛季中离开的球员都必须保存在数据库中所以在号到次年号之间不能删除球员的数据为了实现这个功能需要允许删除球员但时间不能在赛季内下面的试一试练习实现这个功能

)在Visual Web Developer中打开EditSquadaspx文件并在页面的最后添加一个Label控件

)将该Label控件的ID设置为Message并清除它的Text属性

)打开该页面的代码文件并为DetailsDataSource控件的Deleting事件创建一个空白的事件过程可以使用代码文件编辑器顶部的下拉菜单进行创建就像在处理间接事件的试一试练习中所做的那样

)在空白的事件过程中添加如下代码

Dim today As DateTime = DateTimeNow()

Dim startYear As Integer

Dim endYear As Integer

Dim seasonStart As DateTime

Dim seasonEnd As DateTime

If todayMonth > Then

startYear = todayYear

endYear = todayYear +

Else

startYear = todayYear

endYear = todayYear

End If

seasonStart = New DateTime(startYear ) th August

seasonEnd = New DateTime(endYear ) st May

If today >= seasonStart And today <= seasonEnd Then

eCancel = True

MessageText = Cannot delete players during the season

Else

GridViewDataBind()

MessageText =

End If

)保存该文件并从右键菜单中选择View in Browsera

)确保系统的日期处于号与次年号之间

)选择一个球员并试着删除他将看到一条消息显示在赛季期间不能删除球员同时球员也没有被删除

)将系统时间修改到赛季后也就是在号到号之间

)选择一个球员并试着删除他为了不删除真实的球员数据可以先插入一个球员再删除他

ASPNET 入门教程完整版

[] [] []

               

上一篇:ASP.NET入门教程 9.4.2 继承[6]

下一篇:ASP.NET入门教程 6.6 取消事件[2]