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 :

GET OU POST sur une vue


Sujet :

ASP.NET MVC

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 11
    Points
    11
    Par défaut GET OU POST sur une vue
    Bonjour,
    Je développe une application, et je souhaite ajouter un peu de contrôle sur la saisie d'un livre, en fait, chaque livre est identifié avec un code unique, et j'ajoute le contrôle sur le code avant d'enregistrer le livre.
    Le souci réside dans le fait que je souhaite afficher un message à l'utilisateur, j'enregistre le message comme suit :
    controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ViewData["erreur"] = "Ce code est déjà attribué à un autre livre";
                        return RedirectToAction("Create");
    la vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Html.Display(ViewData["erreur"].ToString())
    mais au premier chargement de la vue ( le get request), j'obtiens l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
    En fait, l'erreur est due au fait que la variable (ViewData["erreur"] je la définie lors de la POST request.
    Alors, je souhaite ajouter une condition sur la vue pour déterminer si s'il s'agit d'un GET ou POST.
    sachant que j'utilise Entity framework et MVC, avez vous une idée pour ce faire?
    Merci d' avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Et voila la solution, en fait, c'était simple, il suffit de tester si l'objet ViewData["erreur"] est null ou pas avant de l'appeler de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @{
        if (ViewData["erreur"] != null)
        {
            @Html.Label("",ViewData["erreur"].ToString())
        }
    }
    et remplacer RedirectToAction par view("Create")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ViewData["erreur"] = "Ce code est déjà attribué à un autre livre";
                        return View("Create");
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Créer une multitude d'infos bulles sur une vue
    Par Philippe320 dans le forum MFC
    Réponses: 2
    Dernier message: 03/02/2006, 11h57
  2. [Trigger] Comment le réaliser sur une vue ?
    Par mandale dans le forum DB2
    Réponses: 1
    Dernier message: 19/09/2005, 14h43
  3. Comment avoir une référence sur une Vue
    Par Philippe299 dans le forum MFC
    Réponses: 1
    Dernier message: 12/08/2005, 11h03
  4. Temps d'execution d'un select sur une vue
    Par rosewood dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/02/2005, 17h06
  5. delete sur une vue: rule
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 18/05/2004, 19h58

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