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

C# Discussion :

model ou Model


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    968
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 968
    Points : 141
    Points
    141
    Par défaut model ou Model
    Bonjour,

    J'ai crée une vue AffichierAuteur.cshtml liée à un controller AuteurController et à son action AfficherAuteur

    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
    17
    18
    19
    20
    21
     
     
     
    @model Application_MVC_test_1.Models.VM_Auteur
     
    @{
        ViewBag.Title = "AfficherAuteur";
    }
     
    <h2>AfficherAuteur</h2>
     
    <div class="panel panel-success">
        <div class="panel-heading">
            <h3 class="panel-title">Détail d'un auteur</h3>
        </div>
        <div class="panel-body">
            <p>@Html.DisplayFor(model => model.Nom)</p>
            <p>@Html.DisplayFor(model => model.Prenom)</p>
            <p>@Html.DisplayFor(model => model.DateDeNaissance)</p>
        </div>
    </div>
    Le html helper DisplayFor permet d'afficher la valeur de la propriété Nom(ou Prenom ou DateDeNaissance).
    Dans l'expression lambda model=>model.Nom, model, si j'ai bien compris, model represente le model VM_Auteur et model.Nom la valeur du Nom pour le modele en cours, transmis par le controller.

    Pourquoi voit on parfois écrit model et parfois Model? Y a t-il une différence entre les deux manieres d'écrire cette variable par exemple comme ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    @foreach (var aut in Model)
        {
     
            <tr>
                <td>@Html.DisplayFor(model => aut.Nom)</td>
                <td>@Html.DisplayFor(model => aut.Prenom)</td>
                <td>@Html.DisplayFor(model => aut.DateDeNaissance)</td>
                <td>@Html.ActionLink("Détail d'un auteur", "AfficherAuteur", new { id = aut.Id_auteur })</td>
            </tr>
    Merci beaucoup de votre aide.

    Bien cordialement.

    new_wave
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

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

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    Model, à la ligne 2, fait référence à une propriété définie au niveau de la page (une collection d'auteurs, a priori). model, dans les lignes 7 à 9, est le nom du paramètre de l'expression lambda passée en paramètre à la fonction DisplayFor (qui n'est d'ailleurs pas utilisé).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    968
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 968
    Points : 141
    Points
    141
    Par défaut
    Bonjour et merci de cette explication.

    J'ai bien constaté que model est le nom du parametre de l'expression lambda passée en paramètre à la fonction DisplayFor.

    Je comprends bien la différence entre les deux maintenant.

    Autre question: pourquoi dans la boucle foreach on trouve, pour chaque cellule(td), au niveau de l'expression lambda en paramètre de DisplayFor

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    (model => aut.Nom)
    et non aut=>aut.Nom

    aut représente un item de la collection d'auteurs .

    Il est logique d'écrire aut=> aut.Nom et non model=> aut.Nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    @foreach (var aut in Model)
        {
     
            <tr>
                <td>@Html.DisplayFor(model => aut.Nom)</td>


    Merci beaucoup à toi à nouveau de ton explication sur ce sujet.

    Bien cordialement.

    new_wave
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

Discussions similaires

  1. Exportation des graphiques d'un modèle (Power AMC)
    Par boubaouz dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 16/04/2003, 15h59
  2. déposer modèle XML
    Par labyrinth dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/12/2002, 22h06
  3. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22
  4. programmation reseau - couche 2 du modele osi
    Par sahor dans le forum C++Builder
    Réponses: 3
    Dernier message: 06/11/2002, 18h33

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