I have a list<Izdelki> Kosarica in which I'm adding already created objects from list<Izdelki> lista. But everytime I try to do that, new object nov overwrittes old one, when added to list. Both lists are global, and i create a new object of Izdelek, everytime function is called.
public int izbrani_index;
public List<Izdelek> lista = new List<Izdelek>();
public List<Izdelek> Kosarica = new List<Izdelek>();
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    int index = Convert.ToInt32(e.CommandArgument);
    izbrani_index = index;
    Izdelek tmp = new Izdelek();
    tmp = lista.ElementAt(index);
    Izdelek nov = new Izdelek();
    nov = tmp; 
    Kosarica.Add(nov); //Object here always rewrites old one
    Session["ses_kosarica"] = Kosarica;
    GridView2.DataSource = null;
    GridView2.DataSource = (List<Izdelek>)Session["ses_kosarica"];
    GridView2.DataBind();
}
 
     
     
     
     
     
    