RepeaterとListViewでのサブコントロールの取得方法
1175 ワード
Asp.Netのcs後置ファイルでは、データバインドコントロールのサブコントロールをコントロールIDで直接操作することはできません.FindControlでコントロールを見つけてから操作する必要があります.
RepeaterでDataTableをバインドした後、現在のデータ行のフィールド値を取得します.
DataRow row = (DataRow)((DataRowView)e.Item.DataItem).Row;
string ParentID = row["ParentID"].ToString();//現在のデータ行のParentID値の取得
// 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値の取得