在這個試一試練習中在Fixturesaspx頁面內添加INSERT功能由於不能在GridView中添加新記錄因此這裡只會影響到DetailsView控件
()在VWD的Source View模式下打開Fixturesaspx頁面向下滾動並找到SqlDataSource控件(DetalsView控件的數據源)注意在上一個練習中當VWD添加更新記錄的功能時它還為插入和刪除操作添加了類似的標記因此在這個數據源控件中插入行為已經激活了
()選中DetailsView控件打開它的Common Tasks面板激活插入功能
()在Properties窗口中找到DefauItMode並將它的值修改為Insert
()保存並在浏覽器中查看該頁面嘗試添加一場新的比賽並刷新該頁面
()最後一步試著添加一些無效的數據例如將//設置為日期注意此時對錯誤的處理非常粗糙第章討論錯誤處理
操作回顧
這個過程中的很多標記都是在上一個練習中配置數據源和VWD提供Advanced按鈕和選項創建INSERT UPDATE以及DELETE命令時就創建好的盡管這些標記的數量非常之多但現在您應該能明白這種命令加上一組參數的模式是怎樣激活數據寫入功能的了
具體而言是使用SqlDataSource的InsertCommand命令SqlDataSource是DetailsView的數據源控件這個命令依賴於InsertParameters集如下面的代碼所示注意這裡不需要WHERE子句因為不需要根據己存在的記錄執行該操作
<asp:SqlDataSource ID=SqlDataSource…
InsertCommand=INSERT INTO [Fixtures] ([FixtureDate] [FixtureType] [GoalsFor] [GoalsAgainst] [Notes] [Opponents]) VALUES (@FixtureDate @FixtureType @GoalsFor @GoalsAgainst @Notes @Opponents)
…
<InsertParameters>
<asp:Parameter Name=FixtureDate Type=DateTime />
<asp:Parameter Name=FixtureType Type=String />
<asp:Parameter Name=GoalsFor Type=Int />
<asp:Parameter Name=GoalsAgainst Type=Int />
<asp:Parameter Name=Notes Type=String />
<asp:Parameter Name=Opponents Type=String />
</InsertParameters>
…
</asp:SqlDataSource>
ASPNET 以上一節中處理UPDATE操作類似的方法處理INSERT操作當在Advanced對話框中選擇相關選項時VWD創建了一條帶有一個參數集的INSERT INTO語句這個參數集將保存用戶輸入的數據當在數據綁定控件中激活INSERT功能時VWD該控件增加了CommonField(按鈕)以添加新記錄藏在您所看到的數據控件中惟一需要記住的是在記錄但在GridView中不行其余所有代碼都由Microsoft負責隱藏在您所看到的數據控件中惟一需要記住的是在DetailsView和Form`liew中可以插入新記錄但在GridView中不行
ASPNET 入門教程完整版
[] []
From:http://tw.wingwit.com/Article/program/net/201311/14525.html