Let you have two reapeter named rpt1 and rpt2. You want to transfer Item from rpt1to rpt2 on button click which are clicked. I think this is the best solution for you.....check it
protected void btnSend_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("MenuName");
dt.Columns.Add("MenuID");
foreach (RepeaterItem grdRow in rpt1.Items) {
if (((CheckBox)grdRow.FindControl("chkSelect")).Checked)
{
DataRow drow = dt.NewRow();
Label lblMenuName = (Label)grdRow.FindControl("lblMenuName");
HiddenField hdnID = (HiddenField)grdRow.FindControl("hdnID");
drow["MenuName"] = lblMenuName.Text;
drow["MenuID"] = hdnID.Value;
dt.Rows.Add(drow);
}
}
if (dt.Rows.Count > 0)
{
rpt2.DataSource = dt;
rpt2.DataBind();
}
}
protected void rpt2_RowDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView dr = (DataRowView)e.Item.DataItem;
Label lblMenuName = e.Item.FindControl("lblMenuName") as Label;
lblMenuName.Text = dr["MenuName"].ToString();
HiddenField hdnID = e.Item.FindControl("hdnID") as HiddenField;
hdnID.Value = dr["MenuID"].ToString();
}
}