程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0數據操作教程之十九:給編輯和新增界面增加驗證控件

ASP.NET 2.0數據操作教程之十九:給編輯和新增界面增加驗證控件

編輯:關於ASP.NET

返回“ASP.NET 2.0數據教程目錄”

譯注:Scott Mitchell寫的46篇(現在發布了前15篇)ASP.NET2.0教程系列第 19篇譯文,原文尚未發布,Word文檔可以在這裡下載中英混排版本,這裡下載中 文版本

目錄

簡介

一、從《Examining the Events Associated with Inserting, Updating, and Deleting 》中復制代碼

二、將綁定列 轉換為模板列

三、為GridView的項編輯模板(EditItemTemplate )增加 驗證控件

四、概述頁上的數據錄入問題

五、為DetailsView的 InsertItemTemplate模板增加驗證控件

六、對驗證控件進行分組

小結

簡介

在前面三節的示例(Truly譯注:本文完稿時前三節16-18仍 在緊張翻譯中,而且目前本教程系列46篇只有15篇已經發布,其他原文尚未發布 ,無法從網絡獲取)中,GridView和DetailsView控件使用的是綁定列和 CheckBoxField(綁定GridView和DetailsView時,通過智能標記可以令VS根據數 據庫自動增加對應的類型)。當編輯GridView或者DetailsView中的一行時,非只 讀屬性的綁定列將自動轉為textbox,以便用戶修改現有的數據。同樣地,當在 DetailsView控件中新增記錄時,InsertVisible屬性為true(默認值)的綁定列會 呈現出空的textbox,以接受用戶輸入。CheckBoxField列也是如此,通常作為只 讀的checkbox顯示,新增/編輯記錄時則可以接受選擇。

盡管BoundField 和CheckBoxField提供的編輯和添加界面相當有用,卻缺乏驗證功能。當用戶產生 一些數據錄入錯誤――比如遺漏了 ProductName字段或者為UnitsInStock輸入一 個無效值(如-50)――那麼應用程序將從底層拋出一個異常。盡管我們可以很好 的處理這個異常像上節教程previous tutorial中討論的,但是,一個完美的 ‘新增/編輯’用戶界面應該包括驗證控件,在第一時間阻止用戶輸入 這些無效數據。

為了提供一個自定義的新增/編輯界面,需要將 BoundField和CheckBoxField換成模板列(ItemplateField)。關於模板列,已經 在《Using TemplateFields in the GridView Control 和 Using TemplateFields in the DetailsView Control》教程裡討論過了,由幾個處理不 同行狀態的模板組成。模板列的項模板(ItemTemplate),用來呈現DetailsView 或GridView控件中的只讀字段或行,而EditItemplate和InsertItemTemplate則分 別是編輯和新增模式的界面模板。

在本節教程中,你會發現為模板列的 EditItemTemplate和InsertItemTemplate提供驗證控件來提供更健壯的用戶界面 是多麼的簡單。明確一點,本節教程采用《Examining the Events Associated with Inserting, Updating, and Deleting 》中創建的示例代碼,來增加新增/ 編輯時的相關驗證。

一、復制《Examining the Events Associated with Inserting, Updating, and Deleting》的示例代碼

在《Examining the Events Associated with Inserting, Updating, and Deleting》教程中我們創 建了一個頁面,並在一個可編輯的GridView中列表顯示產品的名字和價格。頁面 還有一個DetailsView,DefaultMode 屬性設置成Insert,因此始終呈現為新增模 式。通過DetailsView,用戶可以錄入名字和價格增加新的產品,點擊Insert後, 新產品就被增加到系統裡(見圖1)。

圖1:以前的代碼允許用戶增加新的產品或修改已有的產品

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved