Solved it with a hiddenfield control:
public void MyData(string prod)
{
SPWeb web = SPContext.Current.Web;
SPList myList = web.Lists.TryGetList("YourList");
if (myList!=null)
{
SPQuery query = new SPQuery();
query.Query = string.Format(
"<Where><BeginsWith><FieldRef Name='ProductNumber' />" +
"<Value Type='Text'>{0}</Value></BeginsWith></Where>", prod);
query.RowLimit = 10;
SPListItemCollection items = myList.GetItems(query);
foreach (SPListItem listItem in items)
{
TextBox_NameList.Text = listItem["Title"] != null ? listItem["Title"].ToString() : string.Empty;
TextBox_ListPriceList.Text = listItem["ListPrice"] != null ? listItem["ListPrice"].ToString() : string.Empty;
TextBox_ProdNumList.Text = listItem["ProductNumber"] != null ? listItem["ProductNumber"].ToString() : string.Empty;
TextBox_ColorList.Text = listItem["Color"] != null ? listItem["Color"].ToString() : string.Empty;
TextBox_MoreInformationList.Text = listItem["MoreInformation"] != null ? listItem["MoreInformation"].ToString() : string.Empty;
HiddenField_ID.Value = listItem["ID"].ToString();
}
}
}
My button code:
protected void Button_UpdateProd_Click(object sender, EventArgs e)
{
SPWeb web = SPContext.Current.Web;
//web.AllowUnsafeUpdates = true;
SPList myList = web.Lists["Extern Products"];
int listItemId = Convert.ToInt32(HiddenField_ID.Value);
//Considering you have the ID of the List Item
SPListItem itemToUpdate = myList.GetItemById(listItemId);
if(itemToUpdate != null)
{
itemToUpdate["Title"] = TextBox_NameList.Text;
itemToUpdate["ProductNumber"] = TextBox_ProdNumList.Text;
itemToUpdate["Color"] = TextBox_ColorList.Text;
itemToUpdate["ListPrice"] = TextBox_ListPriceList.Text;
itemToUpdate["MoreInformation"] = TextBox_MoreInformationList.Text;
itemToUpdate.Update();
TextBox_NameList.Text = string.Empty;
TextBox_ListPriceList.Text = string.Empty;
TextBox_ProdNumList.Text = string.Empty;
TextBox_ColorList.Text = string.Empty;
TextBox_MoreInformationList.Text = string.Empty;
}
}
Hope it helps.