【发布时间】:2013-12-20 00:33:21
【问题描述】:
您好,我在页面中有一个数据列表:
<asp:DataList ID="DataList1" runat="server" BackColor="White" Width="98%" HorizontalAlign="Center" CellPadding="7" >
<ItemTemplate>
<uc1:ShopLine id="ShopLine1" runat="server" DataItem='<%# Container.DataItem %>'
ShopListLineId='<%# DataBinder.Eval(Container.DataItem, "ShopListLineID") %>'
OnDataUpdated="ShopLine1_DataUpdated">
</uc1:ShopLine>
</ItemTemplate>
<SeparatorStyle Width="1px" />
<ItemStyle CssClass="listItem1" />
</asp:DataList>
Shopline 是一个 ascx 文件。
我试图使用以下代码来访问数据列表中的每个项目:
foreach (DataListItem dli in DataList1.Items)
{
string productId = DataBinder.Eval(dli.DataItem, "ProductID").ToString();
TextBox tb = (TextBox)dli.FindControl("QtyTextBox");
}
dli.Dataitem 为空,textbox 也为空,但数据列表实际显示项目,shopline.ascs 确实有一个 TeXtBox id 为“QtyTextBox”。
谁能给我一个想法?谢谢。
【问题讨论】:
-
你在哪里有这个代码?
-
你把这段代码放在哪了?在检查 dli.DataItem 之前,使用快速手表检查 DataList1.Items 中存在哪些项目以及有多少项目