首页 > 代码库 > 2017-5-22 Repeater的Command用法

2017-5-22 Repeater的Command用法

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;
        }
    }

2017-5-22 Repeater的Command用法