DataList遍历问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataList遍历问题相关的知识,希望对你有一定的参考价值。
刚才做了一个奇怪的DataList数据绑定,用的不是原先的DataBinder.Eval()方法,而是用的遍历DataList里的控件,然后再为控件赋值,却发现了一个奇怪的问题,问题如下:
前台语句
<asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 120px; POSITION: absolute; TOP: 112px"
runat="server">
<ItemTemplate>
<FONT face="宋体">
<asp:TextBox id="tb" runat="server"></asp:TextBox></FONT>
</ItemTemplate>
</asp:DataList>
后台语句
private void Page_Load(object sender, System.EventArgs e)
if(!this.IsPostBack)
using(SqlConnection con=OperateDB.GetConnection())
con.Open();
SqlCommand cmd=new SqlCommand("select * from infor",con);
SqlDataAdapter sda=new SqlDataAdapter(cmd);
DataSet ds=new DataSet();
sda.Fill(ds,"infor");
this.DataList1.DataKeyField="id";
this.DataList1.DataSource=ds.Tables["infor"].DefaultView;
this.DataList1.DataBind();
foreach(DataListItem item in this.DataList1.Items)
System.Web.UI.WebControls.TextBox tbs=(TextBox)item.FindControl("tb");
tbs.Text="555";
可以为TextBox文本框赋值,但为什么出现7个文本框里面也有值,想问问大家为什么通过foreach遍历DataList遍历7次呢?
但如果把foreach换成for(int i=0;i>this.DataList1.Items.Count;i++)
System.Web.UI.WebControls.TextBox tbs=(TextBox)this.DataList1.Items[i].FindControl("tb");
tbs.Text="666";
就只有7个文本框而无值
是7个字段,所以便利了7次。
以上是关于DataList遍历问题的主要内容,如果未能解决你的问题,请参考以下文章