首先查看一下ItemDataBound事件本身
Protected Sub DataList_ItemDataBound(ByVal sender As Object ByVal e As SystemWebUIWebControlsDataListItemEventArgs) Handles DataListItemDataBound
這個事件在數據庫中的一行數據綁定到服務器控件時觸發與ImageButton控件的Click事件一樣DataList控件的ItemDataBound事件在第二個參數中向事件過程提供了額外的信息這包括關於即將綁定行的信息以及一個名為DataItem的屬性而該屬性本身又包含了三個屬性
lDataItem: 從數據庫中取回的實際數據條目
lItemindex: 即將被綁定的數據行索引號從開始每行數據遞增
lItemType: 數據項在DataList中的類型可能是如下值中的某一個AlternatingItem EditItemFooterHeaderItemPagerSelectedltem或Separator
ItemType屬性用於判斷正在處理的數據行的類型例如如果將數據綁定到標題行
那麼ItemType屬性的值就是Header對於這個示例中的實際數據行ItemType屬性的值可能是Item或AlternatingItem(兩個值交替出現)因此下面顯示的代碼只是簡單地查看ItemType的值以便只處理感興趣的數據行
If eItemItemType = ListItemTypeItem Or _
eItemItemType = ListItemTypeAlternatingItem Then
接下來可以通過ItemType訪問綁定到image控件的具體數據因此就可以查看是否有圖片的數據首先提取實際的數據行不用考慮這段代碼的具體細節數據和數據轉換在接下來的幾章中討論重要的是記住eItemDataItein是從數據庫中取回的實際數據行並檢查PictureUrl列是否為空
row = DirectCast(eItemDataItem DataRowView)
If row(PictureURL)ToString()Trim() = Then
這個示例中的有些內容沒有詳細地解釋因為它們將在本書後面的章節中討論數據綁定和數據庫將在第章討論數據轉換(使用DirectCast)和FindControl的使用將在第章討論現在不需要知道它們的工作原理但重要的是知道可以完成哪些處理在這個示例中您看到了一個事件在數據庫中的數據綁定到服務器控件時觸發這個事件提供了服務器控件中底層數據和數據行的信息因此可以獲得很多信息
[] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14894.html