2012-02-02 6 views
0

souhaite mettre fieldSets côte à côte sur ma page "Modifier" car j'ai tellement de champs sur la page. Comme je ne trouvais pas de solution facile, j'ai décidé de mettre les champs dans une table. Cela a fonctionné correctement, sauf lorsque je clique sur le bouton "Enregistrer". J'obtiens cette erreur:Comment mettre mes fieldsets côte à côte?

"La mise à jour du magasin, insertion ou suppression a affecté un nombre inattendu de lignes (0). Les entités peuvent avoir été modifiées ou supprimées depuis le chargement des entités. Actualiser les entrées ObjectStateManager. "

Questions: Comment mettre mes champs côte-à-côte ou faire fonctionner ma table avec le bouton de sauvegarde?

Merci pour toute aide.

est ici les méthodes d'édition de mon contrôleur:

public ActionResult Edit(int id) 
    { 
     CourseProgress courseprogress = db.CourseProgresses.Find(id); 
     ViewBag.CourseId = new SelectList(db.Courses, "CourseId", "Name", courseprogress.CourseId); 
     ViewBag.TeacherId = new SelectList(db.Teachers, "TeacherId", "Name", courseprogress.TeacherId); 
     var PdfReportProperties = new PdfReport(); 

     return View(courseprogress); 
    } 

    // 
    // POST: /ProgressManager/Edit/5 

    [HttpPost] 
    public ActionResult Edit(CourseProgress courseprogress) 
    { 
     if (ModelState.IsValid) 
     { 
      db.Entry(courseprogress).State = EntityState.Modified; 
      db.SaveChanges(); 

      return RedirectToAction("ProgressRecord"); 
     } 
     ViewBag.CourseId = new SelectList(db.Courses, "CourseId", "Name", courseprogress.CourseId); 
     ViewBag.TeacherId = new SelectList(db.Teachers, "TeacherId", "Name", courseprogress.TeacherId); 

     return View(courseprogress); 
    } 
+0

L'erreur que vous obtenez n'a rien à voir avec la mise côte à côte des champs dans une table. Ce que vous obtenez est une "exception de concurrence simultanée". Nous aurons besoin de voir votre code de contrôleur pour aider à trouver ce qui cause cela. – danludwig

+0

Désolé de répondre si tard avec ceci - voici mon contrôleur: – CloudyKooper

+0

Désolé de ne pas répondre plus tôt ... précipiter mon projet ... pas bon. J'ai ajouté la méthode d'édition du contrôleur au message d'origine. – CloudyKooper

Répondre

0

La raison la plus probable que vous obtenez cette erreur est que vous ne disposez pas d'un champ pour l'ID de votre modèle sous la forme, une fois que vous appuyez sur le bouton SAVE, l'objet que vous éditez a sa propriété d'identification dans null. Pour le résoudre, utilisez un champ caché contenant l'ID du modèle, de sorte qu'une fois que le formulaire a publié ses champs, il soit mappé dans votre objet de modèle de contrôleur.

Ce problème n'a rien à voir avec la position ou la disposition de vos champs.

+0

Merci le champ ID caché était tout ce qui était nécessaire. – CloudyKooper