Voici un extrait de mon code:aide l'insertion d'une nouvelle ligne dans une db LINQ
else
{
SubCategory subCat = new SubCategory
{
SubCategoryName = name,
Active = false,
CategoryID=Convert.ToInt32(ddlCategory.SelectedValue)
};
db.SubCategories.InsertOnSubmit(subCat);
}
db.SubmitChanges();
La ligne suivante provoque une erreur:
CategoryID=Convert.ToInt32(ddlCategory.SelectedValue)
Je confirme que le SelectedValue dans mon DDL est un int, et que la base de données attend un int, donc je ne comprends pas pourquoi asp.net me donne un YSOD disant "La chaîne d'entrée n'était pas dans un format correct."
Si j'attribue un numéro de catégorie manuellement, cela fonctionne.
EDIT: Le problème était parce que je remplissais la liste déroulante dans mon code et je ne l'ai pas enveloppé dans un (! IsPostBack). Donc, il détruisait la liste, la repeuplait et mettait l'index à 0 à chaque fois à posteriori.
Est-ce EntityFramwork ou Linq2Sql ou Nhibernate? –
@The_Smallest, Linq to Sql –
Avez-vous essayé de mettre un point d'arrêt dessus et de voir si vous avez une valeur sélectionnée. – Phill