在Asp.Net的cs后置文件中不能直接用控件ID来操作数据绑定控件中的子控件,必须用FindControl找到控件才能操作。
//查找Repeater中的子控件
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// e.Item.ItemType 为当前行的类型
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// 找到ID为btnDelete的TextBox控件,e.Item表示当前绑定的那一行
TextBox txtName = (TextBox)e.Item.FindControl("btnDelete");
txtName.Text = "我是Repeater中被查找的子控件";
}
}
//查找ListView中的子控件
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
//这里和Repeater稍有不同
if (e.Item.ItemType == ListViewItemType.DataItem)
{
TextBox txtName = (TextBox)e.Item.FindControl("btnDelete");
txtName.Text = "我是ListView中被查找的子控件";
}
}
在Repeater中绑定DataTable后,获取当前数据行的某个字段值:
DataRow row = (DataRow)((DataRowView)e.Item.DataItem).Row;
string ParentID = row["ParentID"].ToString(); // 获取当前数据行的ParentID值
浙公网安备 33010602011771号