Hi  yohana,
I have created sample code which fullfill your requirement.
HTML
<form id="form1" runat="server">
<div>
    <asp:Repeater ID="repCustomers" runat="server">
        <HeaderTemplate>
            <table border="1px" cellpadding="1px" cellspacing="0Px">
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td>
                    <asp:CheckBox ID="Chkbulk" runat="server" />
                </td>
                <td>
                    <asp:Label ID="lblCustomerId" Text='<%#Eval("CustomerId") %>' runat="server" />
                      
                </td>
                <td>
                    <asp:Label ID="lblCustomerName" Text='<%#Eval("CustomerName") %>' runat="server" />
                    <asp:TextBox ID="txtCustomerName" runat="server" Width="120" Text='<%# Eval("CustomerName") %>'
                        Visible="false" />
                         
                </td>
                <td>
                    <asp:Label ID="lblCountry" Text='<%#Eval("Country") %>' runat="server" />
                    <asp:TextBox ID="txtCountry" runat="server" Width="120" Text='<%# Eval("Country") %>'
                        Visible="false" />
                </td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
</div>
<asp:LinkButton ID="btnEdit" Text="Edit" OnClick="EditMode" runat="server" />
<asp:LinkButton ID="btnUpdate" Text="Update" OnClick="OnUpdate" runat="server" />
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("CustomerId", typeof(int));
        dt.Columns.Add("CustomerName", typeof(string));
        dt.Columns.Add("Country", typeof(string));
        dt.Rows.Add(1, "Peter", "USA");
        dt.Rows.Add(2, "John", "Spain");
        dt.Rows.Add(3, "Maria ", "Norway");
        dt.Rows.Add(4, "Michael Holz", "Denmark");
        dt.Rows.Add(5, "Jose Pavarotti", "France");
        ViewState["Customers"] = dt;
        this.BindRepeater();
    }
}
private void BindRepeater()
{
    repCustomers.DataSource = (DataTable)ViewState["Customers"];
    repCustomers.DataBind();
}
protected void EditMode(object sender, EventArgs e)
{
    foreach (RepeaterItem item in repCustomers.Items)
    {
        bool ischecked = (item.FindControl("Chkbulk") as CheckBox).Checked;
        if (ischecked)
        {
            this.ToggleElements(item, true);
        }
    }
}
private void ToggleElements(RepeaterItem item, bool isEdit)
{
    (item.FindControl("lblCountry") as Label).Visible = !isEdit;
    (item.FindControl("lblCustomerName") as Label).Visible = !isEdit;
    (item.FindControl("txtCountry") as TextBox).Visible = isEdit;
    (item.FindControl("txtCustomerName") as TextBox).Visible = isEdit;
}
protected void OnUpdate(object sender, EventArgs e)
{
    foreach (RepeaterItem item in repCustomers.Items)
    {
        bool ischecked = (item.FindControl("Chkbulk") as CheckBox).Checked;
        if (ischecked)
        {
            DataTable dt = (DataTable)ViewState["Customers"];
            string country = (item.FindControl("txtCountry") as TextBox).Text;
            string CustomerName = (item.FindControl("txtCustomerName") as TextBox).Text;
            dt.Rows[item.ItemIndex]["CustomerName"] = CustomerName;
            dt.Rows[item.ItemIndex]["Country"] = country;
            ViewState["Customers"] = dt;
        }
    }
    this.BindRepeater();
}
Screenshot
