怎么取Repeater中Datalist里面的Textbox的值

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:07:22
<asp:Repeater ID="repeater_spec" runat="server" OnItemDataBound="repeater_spec_ItemDataBound">
<ItemTemplate>
<strong><%#DataBinder.Eval(Container.DataItem, "SpecText")%>< >
<asp:DataList ID="dl_spec" runat="server" RepeatLayout="Table" CssClass="dl_spec">
<ItemTemplate>
<tr>
<td><asp:Label ID="lb_spec" runat="server" Text=<%#DataBinder.Eval(Container.DataItem, "SpecText")%>></asp:Label>
<asp:TextBox ID="txt_specid" runat="server" Visible="false" Text=<%#DataBinder.Eval(Container.DataItem, "AutoID")%> ></asp:TextBox>
<asp:TextBox ID="txt_specValueID" runat="server" Visible="false" ></asp:Tex

TextBox txt = ((DataList)repeater.Items[0].FindControl("dl")).Items[0].FindControl("txt1");

DataList 有一个自带的事件 ItemDataBound 用这个就可以.

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item) {
TextBox x = (TextBox) e.Item.FindControl("TextBox1");
x.Text ="xxx";

}
}

for (int j = 0; j < Dl_list.Items.Count; j++) //这里还是有问题.

这个里面 dl_list.items.count 和页面上显示的行数是不是一样?

Dl_list.Items[j].FindControl("txt_specid");

都是发生的