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 :

Assigner le mot clé "this".


Sujet :

ASP.NET MVC

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Assigner le mot clé "this".
    Bonjour,

    je débute sur .NET et venant d'un langage très permissif(Windev), je pense avoir prit quelques mauvaises habitudes.

    Sur un projet .NET 5.0 MVC, je crée un model "projet" mappé sur une table postgresql du même nom.

    Dans mon controller "ProjetController", j'initialise mon instance "MonProjet" et j'attribue une valeur à l'id qui est défini comme clé primaire puis j'appel la méthode "Lire()".

    Nom : projet_1.PNG
Affichages : 30
Taille : 7,2 Ko

    La méthode "Lire()" utilise le contexte et la méthode "Find()" pour me renvoyer mon enregistrement.

    Nom : projet_2.PNG
Affichages : 26
Taille : 8,3 Ko

    La méthode Find me renvoi bien un objet de type "projet" mais je ne peut pas assigner à "this" car celle-ci est un read-only. "This" désigne normalement un objet de type "projet", d'ailleurs si je passe par un objet intermédiaire cela fonctionne.

    Nom : projet_3.PNG
Affichages : 26
Taille : 8,5 Ko

    En Wlangage, il existe une fonction FichierVersMemoire() qui permet de charger l'objet en cours avec l'enregistrement lu. Existe t-il la même chose sur .NET ou puis-je déclarer "this" en lecture-écriture ?

    Je débute également en POO donc c'est peut-être pas une bonne façon de faire non plus.

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    janvier 2009
    Messages
    4 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : janvier 2009
    Messages : 4 721
    Points : 11 346
    Points
    11 346
    Par défaut
    Bonjour,
    "This" correspond à l'instance en cours, donc tu ne peux pas l'affecter via une méthode (non statique) de la classe.

    Dans ton deuxième cas ça fonctionne car tu as 2 instances bien distinct de Projet.

    Ici je pense qu'il faut faire appel au context dans la méthode Index de la classe ProjectController.
    Ainsi tu as directement ton instance, avec les données qui vont bien.

    Tatayo.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour tatyoyo,

    merci de ta réponse. En effet, pourquoi faire simple quand on peut faire compliqué, je me suis prit la tête pour rien.

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/10/2010, 14h30
  2. onmouseover="Menu_HoverStatic(this)" object expected
    Par cyrano_de_bergerac dans le forum ASP.NET
    Réponses: 0
    Dernier message: 01/10/2010, 17h01

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