J'ai créé une application asp.net qui remplit une table avec des informations à partir d'une base de données, choisissez une valeur dans une liste déroulante et mettre à jour la base de données. Pour une raison quelconque maintenant, quand je vais à la date suivante et toutes les informations s'affichent correctement, mais la valeur dans la liste déroulante ne fonctionne pas. Pour cette raison, disons que la première page a 3 lignes et la deuxième page a 10. Les 3 premières lignes sur la deuxième page auront la même valeur dans la liste déroulante que la page précédente, tout le reste est changé cependant. Voici le code utilisé pour créer la liste déroulante sur chaque ligne:Liste déroulante ne pas effacer
tc = new TableCell();
tc.BorderWidth = 1;
String rteNum = reader.GetValue(fCount - 1).ToString().TrimStart('R');
//this output displays the correct value
System.Diagnostics.Trace.WriteLine(rteNum.Trim());
ddl = new DropDownList();
ddl.ID = "route" + index;
ddl.Attributes["runat"] = "server";
ddl.Attributes["onblur"] = "refresh()";
ListItem item;
for (int i = 1; i <= 32; i++)
{
item = new ListItem();
item.Text = i.ToString();
item.Value = i.ToString();
if (i.ToString().Equals(rteNum.Trim()))
{
item.Selected = true;
}
ddl.Items.Add(item);
}
list.Add(ddl);
tc.Controls.Add(ddl);
tc.ID = "tblr" + index;
tr.Cells.Add(tc);
tbl1.Rows.Add(tr);
EDIT:
Le problème est que je dois utiliser les valeurs modifiées si l'utilisateur appuie sur un bouton, mais lorsque les données sont changé l'information doit être abandonnée. Donc, fondamentalement, j'ai besoin d'afficher les informations avec une liste déroulante puis mettre à jour la base de données.
La ligne "ddl.Attributes [" runat "] = "server";" ne fait rien car il envoie juste cet attribut au client. Vous n'avez pas besoin d'ajouter runat lorsque vous créez le contrôle à la main. –