IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Methode du controlleur ne sauvegarde pas la vue dans la base de donnees


Sujet :

ASP.NET MVC

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Methode du controlleur ne sauvegarde pas la vue dans la base de donnees
    Bonjour a tous,

    Je partage avec vous le screenshot de mon projet. http://imgur.com/a/Aiuds

    J'ai cree un viewmodel pour ajouter les donnees dans la base de donnee "Posts" j'ai ajoute le AddingPost dans le controlleur mais je ne comprend pas pourquoi les donnees ne passe pas.
    J'ai essaye avec un breakpoint et tous est a Null.

    Autre question dans la base de donnee post j'ai la categoryid qui est une cle etrangere vers la table category, j'ai essaye le x.category.name mais ceci ne fonctionne pas aussi. Merci de votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 898
    Points : 1 915
    Points
    1 915
    Par défaut
    Html.BeginForm se traduira dans le code html par une balise <form> avec les attributs qui conviennent ; comme tu déclares une autre balise <form> dans ton contexte tu te retrouves avec deux <form> imbriqués, dont l'un n'a aucune info sur l'action et la méthode, il est possible qu'il y ait des problèmes à ce niveau là.

    Est-ce-que tu as bien @model AddingPost au début de ta vue pour récupérer le model ? Je suis d'ailleurs un peu surpris que tu n'aies pas de plantage dans ta vue, étant donné que tu ne fournis pas de model à la requête de départ (return View(new AddingPost());).

    Je trouve étrange d'avoir de méthodes avec des noms différents pour l'ajout d'un post, personnellement j'aurais gardé les mêmes noms, en distinguant les méthodes par les paramètres et par le type de requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [HttpGet]
    ActionResult AddPost() { return View(new PostModel); }
     
    [HttpPost]
    ActionResult AddPost(PostModel post)
    {
      if(!ModelState.IsValid) return View(post);
      try { return RedirectToAction("Read", services.Post.Add(post.ToTransferObject()).Id); }
      catch(Exception e) { return View(model); }
    }
    Enfin je vois un db.SaveChanges() qui me fait un peu tiquer, normalement tu devrais avoir une couche de services métier avant la couche de persistance (base de données), mais c'est un choix d'architecture.

Discussions similaires

  1. Créer une vue dans une base vers une autre base ?
    Par guidav dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/02/2008, 15h43
  2. Sauvegarde automatique de valeur dans une base
    Par gondole38 dans le forum Access
    Réponses: 3
    Dernier message: 05/01/2007, 08h54
  3. [SQL] sauvegarde d'un email dans une base sql
    Par sansouna24 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/03/2006, 17h53
  4. Taille des vues dans la base de donnée
    Par Andry dans le forum Débuter
    Réponses: 5
    Dernier message: 21/01/2005, 21h06
  5. Oracle Designer: récupération d'une vue dans la base
    Par BILLYPATOU dans le forum Designer
    Réponses: 2
    Dernier message: 19/03/2004, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo