熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

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

2013-11-13 10:51:47  來源: .NET編程 

    到目前為止您在本章中己經看到了觸發單個事件的控件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 入門教程完整版 

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/14658.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.