要疯了,想了几个小时了,DataList中ItemDataBind 寻找控件的问题!
当DataList 绑定了控件以后,触发ItemDataBind事件,我需要在触发该事件的时候找到
该次绑定的模板下的 控件(比如CheckBox),但是时机总是错位,郁闷!
代码如下~请问高手们这个问题如何解决啊~~
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemIndex != -1) { if (DataList1.Items.Count > 1) { foreach (DataRowView var in dv) { if (var["m_id"].ToString() == this.DataList1.DataKeys[e.Item.ItemIndex].ToString()) { (DataList1.Items[int.Parse(ViewState["count"].ToString()) + 2].FindControl("CheckBox5") as CheckBox).Checked = true; (DataList1.Items[int.Parse(ViewState["count"].ToString()) + 2].FindControl("CheckBox1") as CheckBox).Checked = bool.Parse(var["select"].ToString()); (DataList1.Items[int.Parse(ViewState["count"].ToString()) + 2].FindControl("CheckBox2") as CheckBox).Checked = bool.Parse(var["insert"].ToString()); (DataList1.Items[int.Parse(ViewState["count"].ToString()) + 2].FindControl("CheckBox3") as CheckBox).Checked = bool.Parse(var["update"].ToString()); (DataList1.Items[int.Parse(ViewState["count"].ToString()) + 2].FindControl("CheckBox4") as CheckBox).Checked = bool.Parse(var["delete"].ToString()); } } } else { return; } ViewState["count"] = int.Parse(ViewState["count"].ToString()) + 1; } }