[問題] ASP.Net Repeater元件ItemDataBound問題

看板Web_Design作者 (火(一日一)凸)時間14年前 (2011/10/07 18:44), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我目前使用了三層的Repeater,結構如下 <asp:Repeater ID="Repeater1" ruant="Server" DataSourceID="SqlDataSource1"> <ItemTeplate> <asp:Repeater ID="Repeater2" ruant="Server" DataSourceID="SqlDataSource2"> <ItemTeplate> <asp:Repeater ID="Repeater3" ruant="Server" DataSourceID="SqlDataSource3"> <ItemTeplate> <ItemTeplate> </asp:Repeater> <ItemTeplate> </asp:Repeater> <ItemTeplate> </asp:Repeater> 不過在Repeater1_ItemDataBound事件中取值有點問題 Pravite Sub Repeater1_ItemDataBound(Byval source As Object, Byval e As System.Web.UI.WebControls.RepeaterItemEventArgs) Dim drv As DataRowView = Ctype(e.Item.DataItem, DataRowView) Dim tmpStr As String = drv.Row.Item("e_No") End Sub 上面的事件中,使用e.Item.DataItem去取得目前SqlDataSource檢視的資料列 但是第一次檢視時都是Nothing,等到Repeater2與Repeater3都做過一次之後 第二次進入上面的事件才會抓到SqlDataSource查到的資料 但是「drv.Row.Item("e_No") <-目前檢視的資料列」指定的列是第一列 所以就是內部Repeater2, Repeater3已經執行一次,Repeater1才抓到第1列 這樣子在指定名稱的時候會出錯 請問有人遇過這個問題嗎,這問題要怎麼解決?? -------------------------------------------------------------------------- 剛剛試過用單層的沒有這個問題,一進ItemDataBound抓e.Item.DataItem就有值了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.240.53 ※ 編輯: czs0607 來自: 118.168.240.53 (10/07 18:59)
文章代碼(AID): #1EZjWRuT (Web_Design)