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