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

ASP.NET入門教程 8.4 刪除記錄[3]

2013-11-13 10:57:24  來源: .NET編程 

    操作回顧

    這個模式和修改數據的其他方式是一樣的數據源控件必須具有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 入門教程完整版

[]  []  []  


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