FehlermeldungASP.NET Mehrere Steuerelemente mit der gleichen ID "x" wurden gefunden. FindControl
Es wurden mehrere Steuerelemente mit derselben ID 'ltlItemCode' gefunden. FindControl erfordert, dass Steuerelemente eindeutige IDs haben.
Dieser Fehler tritt nicht beim Laden von Seiten auf, aber wenn ich den Wert eines Dropdown ändern, die AutoPostBack = "True" hat.
-Code ist
//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();
}`
Irgendwelche Fortschritte dabei? – Serge