Hey Guys,
Getting the following error
Multiple controls with the same ID 'ltlItemCode' were found. FindControl requires that controls have unique IDs.
This Error does not happen on page loads but when I change the value of a drop down which has AutoPostBack="true".
Code is
`//Number of Services numberofServices = Int32.Parse(DCCFunctions.GetNumServicesPerRoom(roomId.ToString())); additionalServices = new UserControls_AdditionalService[numberofServices - 1];
String htmlTable = String.Empty;
Int32 cell = 1;
Int32 rows = numberofServices;
Int32 cols = 4;
TableHeaderRow h = new TableHeaderRow();
TableHeaderCell hc1 = new TableHeaderCell();
hc1.Text = "Item Description";
h.Cells.Add(hc1);
TableHeaderCell hc2 = new TableHeaderCell();
hc2.Text = "Item Price";
h.Cells.Add(hc2);
TableHeaderCell hc3 = new TableHeaderCell();
hc3.Text = "Item Quantity";
h.Cells.Add(hc3);
TableHeaderCell hc4 = new TableHeaderCell();
hc4.Text = "Item Sub Total";
h.Cells.Add(hc4);
Table1.Rows.Add(h);
// Open database connection
DBConnection conn = new DBConnection();
// Retrieve details
SqlCommand sqlGetDetails = conn.SetStoredProcedure("spGetAdditionalServicesDetails");
DBConnection.AddNewParameter(sqlGetDetails, "@roomId", ParameterDirection.Input, SqlDbType.Int, roomId);
try
{
conn.Open();
SqlDataReader reader_list = sqlGetDetails.ExecuteReader();
if (reader_list.HasRows)
{
while (reader_list.Read())
{
//returnVal = reader_list["Num"].ToString();
htmlTable += "<tr>" + Environment.NewLine;
TableRow r = new TableRow();
additionalServices[cell - 1] = (ASP.usercontrols_additionalservice_ascx)LoadControl("~/UserControls/AdditionalService.ascx");
Literal ItemCode = (Literal)additionalServices[cell - 1].FindControl("ltlItemCode") as Literal;
ItemCode.Text = reader_list["itemDescription"].ToString();
Literal ItemPrice = (Literal)additionalServices[cell - 1].FindControl("ltlItemPrice") as Literal;
ItemPrice.Text = "€" + reader_list["unitPrice"].ToString();
Literal ItemTotal = (Literal)additionalServices[cell - 1].FindControl("ltlTotalPrice") as Literal;
ItemTotal.Text = "€" + "0";
TableCell ItemCodeCell = new TableCell();
ItemCodeCell.Controls.Add((Literal)additionalServices[cell - 1].FindControl("ltlItemCode") as Literal);
TableCell ItemCodePriceCell = new TableCell();
ItemCodePriceCell.Controls.Add((Literal)additionalServices[cell - 1].FindControl("ltlItemPrice") as Literal);
TableCell ItemCodeTotalCell = new TableCell();
ItemCodeTotalCell.Controls.Add((Literal)additionalServices[cell - 1].FindControl("ltlTotalPrice") as Literal);
TableCell c = new TableCell();
DropDownList qtyList = (DropDownList)additionalServices[cell - 1].FindControl("qtyList") as DropDownList;
qtyList.Items.Add(new System.Web.UI.WebControls.ListItem("Select Quantity...", "0"));
qtyList.DataBind();
for (Int32 count = 1; count < 101; count++)
{
qtyList.Items.Add(new System.Web.UI.WebControls.ListItem(count.ToString(),count.ToString()));
}
//c.ColumnSpan = 5;
c.Controls.Add((DropDownList)additionalServices[cell - 1].FindControl("qtyList") as DropDownList);
r.Cells.Add(ItemCodeCell);
r.Cells.Add(ItemCodePriceCell);
r.Cells.Add(c);
r.Cells.Add(ItemCodeTotalCell);
//r.Controls.Add(additionalServices[cell - 1]);
//cell += 1;
// Add the row
Table1.Rows.Add(r);
}
}
reader_list.Close();
}
catch (Exception ex)
{
M1Utils.ErrorHandler(ex);
}
finally
{
conn.Close();
}`