0
環境是一個用ASP 2.0編寫的古老應用程序。試圖訪問ASP後面的代碼:Repeater ItemTemplate
我有這樣的代碼,顯示DB源到ASP:轉發:
<asp:Repeater ID="Repeater" runat="server" DataSourceID="DS" OnItemDataBound="On_Repeater_ItemDataBound">
<ItemTemplate>
<asp:CheckBox ID="CB" runat="server" Text='<%# Eval("My_DB_Field") %>'></asp:CheckBox>
</ItemTemplate>
</asp:Repeater>
它工作正常。 但是,我想更改代碼,以便有時CB.Text = My_DB_Field(與現在一樣),有時它等於另一個DB字段值。 所以我需要在代碼背後的On_Repeater_ItemDataBound方法中做到這一點。
但我怎樣才能訪問此方法內的模板項目數據庫字段?
換句話說,什麼是
Text='<%# Eval("My_DB_Field") %>'
在代碼背後的相同呢?
我看到,我正在尋找可以通過以下方式訪問: ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[12]
然而,Row.ItemArray是一個Object []
所以看起來極端危險的硬編碼DB場ID(12) 。 我想知道是否有像對象字典,所以我可以通過數據庫字段名稱(「My_DB_Field」)訪問它?
THX這麼多的善意幫助:) –