Repeater的Command用法
是Repeater控件的原生事件用法
Repeater里面如果循环控件,控件的ID是会被改变的
ItemCommand事件 - 任何控件执行提交都来触发这个事件
属性 - CommandName=""
属性 - CommandArgument="主键值"
ItemCreated - 绑定数据之前,创建行之后
ItemDataBound - 绑定数据之后,执行一遍
1.在要触发的事件中添加属性CommandName="";方便在后台代码中区分点击的事件
CommandArgument='<%#Eval("ids") %>' 传递的参数,在后台代码通过e.CommandArgument;获取传递的参数
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Users> ulist = new UsersData().selectAll();
Repeater1.DataSource = ulist;
Repeater1.DataBind();
}
Repeater1.ItemCommand += Repeater1_ItemCommand;
}
void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//触发修改要操作的
if (e.CommandName == "update")
{
Label1.Text = "修改";
}
//触发删除要操作的
else if(e.CommandName=="delete")
{
Label1.Text = "删除";
}
}
2.Repeater控件中:数据创建的时候执行的事件 ItemCreated,数据绑定的时候执行的事件 ItemDataBound
ItemCreated - 绑定数据之前,创建行之后 ItemDataBound - 绑定数据之后,执行一遍
用法:
protected void Page_Load(object sender, EventArgs e)
{
Repeater1.ItemCommand += Repeater1_ItemCommand;
//数据创建的时候
Repeater1.ItemCreated += Repeater1_ItemCreated;
//数据绑定的时候
Repeater1.ItemDataBound += Repeater1_ItemDataBound;
if (!IsPostBack)
{
List<Users> ulist = new UsersData().selectAll();
Repeater1.DataSource = ulist;
Repeater1.DataBind();
}
}
//数据在绑定的时候执行,如果性别为女的不显示
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem ri = e.Item;
Users u = ri.DataItem as Users;
if (u.Sex == false)
{
ri.Visible = false;
}
}
