for (int i = 0; i < this.DataList1.Items.Count; i++) { string value = ((Label)this.DataList1.Items[i].FindControl("price")).Text; double price = Convert.ToDouble(value); int count = Convert.ToInt32(((TextBox)this.DataList1.Items[i].FindControl("txtCount")).Text); ((Label)this.DataList1.Items[i].FindControl("total")).Text = Convert.ToString(price * count); theTotal = theTotal + price * count; } 但也可以通过以下方式来遍历 foreach (DataListItem item in this.DataList.Items) { ((Textbox)item.FindControl("textbox1")).visible=false; string keyid = DataList1.DataKeys[item.ItemIndex].ToString(); }