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 :

Erreur NullReferenceException lors de l'utilisation de resources


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut Erreur NullReferenceException lors de l'utilisation de resources
    Bonjour,

    Je travaille sur un projet de développement pour une application Web en MVC 5. C'est mon premier projet MVC donc je suis encore au niveau apprentissage pour certaines choses.
    Actuellement, je bute sur l'utilisation de resources.

    Voici donc par étapes ce que j'ai entrepris:

    Step 1
    J'ai créé des fichiers .resx dans un dossier Resources. J'ai changé le générateur de code pour Public, ajouté un Namespace MyApp.Resources et vérifié que l'Access Modifier est bien Public
    Nom : files.JPG
Affichages : 143
Taille : 39,4 Ko

    Step 2
    J'ai mis a jour mon fichier Web.Config
    Nom : webcnfig.JPG
Affichages : 120
Taille : 21,4 Ko

    Step 3
    J'ai ajouté le using dans ma vue
    Nom : details.JPG
Affichages : 107
Taille : 17,8 Ko

    Step 4
    Je fais appelle a ma resource
    Nom : resource.JPG
Affichages : 98
Taille : 10,7 Ko

    Lors de l'éxécution, quand j'accede ma page details, j'obtiens l'erreur suivante.
    Nom : Exception.JPG
Affichages : 122
Taille : 32,5 Ko

    J'ai donc fait des recherches, et d'apres les tutos que j'ai trouvé, j'ai fait les choses correctement. Je ne comprends pas pourquoi j'obtiens cette erreur.
    Un petit coup de pouce ne serait pas de refus.
    Merci d'avance

    Kevin

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Dans displayfor dois se trouver logiquement un propriété de ton modèle...
    Si tu veux qu'en suite la propriété soit traduite tu devras le faire dans le template associé à la propriété de ton template...
    Tu peux aussi préciser la ressource a utilisé directement dans ton modèle en décorant chaque propriété avec l'attribut suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            [Display(Name = "CleDeLaResource", ResourceType = typeof(typeDeTaResource))]
    dans ton cas ce serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            [Display(Name = "empty", ResourceType = typeof(SUPWAStrings))]
            public string test {get; set;}
    A+

  3. #3
    Membre régulier Avatar de nanooby
    Homme Profil pro
    IT Consultant
    Inscrit en
    Mai 2014
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : IT Consultant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2014
    Messages : 103
    Points : 111
    Points
    111
    Par défaut
    Hello Dokho1000,

    Merci pour ta réponse.
    Je comprends ce que tu veux dire.
    En fait, j'utilise déja l'attribut Display en récupérant les ressources de mes Api (SUPStrings)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [Display(Name = nameof(SUPStrings.Notifications), ResourceType = typeof(SUPStrings))]
    public List<SUPUploadNotification> Notifications { get; set; }
    Le probleme initial était que lorsque ma liste était vide, il y avait un décallage de créé a cause de l'absence de DisplayFor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach (var Employee in Model.Notifications.Employees)
    {
            <dd>
                  @Html.DisplayFor(model => Employee.DisplayName)
            </dd>
    }
    Dans le code ci-dessus, j'étais capable d'utiliser les propriétés d'un objet autre que mon objet model, j'ai donc assumé que je pouvais reproduire la meme chose avec mes ressources, d'ou le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
            @if (Model.Notifications.Employees.Count > 0)
            {
                foreach (var Employee in Model.Notifications.Employees)
                {
                    <dd>
                        @Html.DisplayFor(model => Employee.DisplayName)
                    </dd>
                }
            }
            else
            {
                <dd>
                    @Html.DisplayFor(model => SUPWAStrings.Empty)
                </dd>
            }
    Est-ce possible d'afficher Empty sans avoir a créer une propriété dans mon objet model? Peut etre en remplacant le DisplayFor par une autre méthode?
    J'ai essayé DisplayText(SUPWAStrings.Empty) mais rien ne s'affiche..

    PS: Désolé pour les accents, clavier UK, je fais ce que je peux

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Je ne vois pas l’intérêt du displayfor pour ton empty...pourquoi dans ton else tu ne fais pas simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    else{
        <dd>@SUPWAStrings.Empty</dd> 
    }
    ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/02/2009, 23h58
  2. Réponses: 0
    Dernier message: 30/07/2008, 15h39
  3. [PEAR][HTML_QuickForm] Erreur 404 lors de l'utilisation de PEAR
    Par Hguran dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/04/2008, 14h41
  4. Erreur exécution lors de l'utilisation d'une liste déroulante
    Par nomade333 dans le forum Modélisation
    Réponses: 3
    Dernier message: 29/03/2008, 15h28
  5. Réponses: 13
    Dernier message: 31/05/2007, 17h33

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