Bonjour,
La vue "Détails" de mon contrôleur renvoie l'erreur 404.
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
 
        public IActionResult MonArticle(long? id)
        {
             if (id == null || _repo.GetArticleByID(id) == null)
            {
                return NotFound();
            }
            var article = _repo.GetArticleByID(id);
 
            ViewBag.Nom = article.Nom.Replace(" ", "_");
 
            var description = article.Description;
            ViewBag.description = description.Replace("\n", "<br/>");
 
            List<Images> photos = _IMG_repo.GetImageByArticleID(id).OrderBy(x => x.Nom).ToList();
 
 
            ViewData["Photo"] = photos;
 
            return View(article);
        }
C'est à dire que l'action 'MonArticle' n'est même pas activée.

1) Si je ne fourni pas l'id dans l'adresse du navigateur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
https://localhost:7105/Articles/MonArticle/
l'action 'MonArticle(long? id)' est activée !
Alors j'ai fourni une id valide en dur dans son code :
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
22
        public IActionResult MonArticle(long? id)
        {
             id = 70003;
             if (id == null || _repo.GetArticleByID(id) == null)
            {
                return NotFound();
            }
            var article = _repo.GetArticleByID(id);

            ViewBag.Nom = article.Nom.Replace(" ", "_");
   
            var description = article.Description;
            ViewBag.description = description.Replace("\n", "<br/>");

            List<Images> photos = _IMG_repo.GetImageByArticleID(id).OrderBy(x => x.Nom).ToList();

 
            ViewData["Photo"] = photos;

            return View(article);
        }
'var article' se charge normalement avec toutes les données de la BdD (y compris les liens photos).
sauf que 'return View(article)' ne renvoie rien, page blanche.

2) J'ai supprimé la vue et je l'ai faite reconstruire automatiquement, vue Razor.
Rien ne change. Erreur 404

3) Clic droit sur la vue dans l'explorateur de solutions --> Afficher dans le navigateur
La vue s'affiche AVEC toutes les données, sans les photos ( vue Razor de base)

4) Je remplace le contenue de la vue Razor par mon code.
Clic droit sur la vue dans l'explorateur de solutions --> Afficher dans le navigateur
La vue s'affiche AVEC toutes les données, AVEC les photos ( serveur arrêté !! )

5) L'appel normal de la vue est un lien dans une 'Card'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
        <div class="card h-100 mx-2 mt-3" style="width: 16rem;">
            <img src="@Url.Content("~")/Upload/@item.VendeurName/@item.Crec_Ref/Thumbnails/@item.FirstImage" class="card-img-top" alt="..." href="#" />
            <div class="card-body">
                <h6 class="card-title soussoustitre-ajout">@Html.DisplayFor(modelItem => item.Nom)</h6>
                <p class="card-price titre-ajout">@Html.DisplayFor(modelItem => item.PrixPublic) €</p>
                <a href="/Articles/MonArticle/@Html.DisplayFor(modelItem => item.Id)" class="stretched-link"></a>
            </div>
        </div>
6) J'ai vérifié que le nom de l'action 'MonArticle' était correctement associé à la vue 'MonArticle'

7) Je test avec Firefox et Brave. Idem

8) Je possède un clone de l'appli (que je fais évoluer parallèlement, et dans lequel j'effectue divers tests), et ce clone fonctionne !

9) J'ai arrêté et redémarré l'ordi.

Bref, je n'y comprends rien du tout.
Je ne sais plus où ni comment chercher.
Merci