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这么多的善意帮助:) –