Bonjour,
La vue "Détails" de mon contrôleur renvoie l'erreur 404.
C'est à dire que l'action 'MonArticle' n'est même pas activée.
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); }
1) Si je ne fourni pas l'id dans l'adresse du navigateur :
l'action 'MonArticle(long? id)' est activée !
Code : Sélectionner tout - Visualiser dans une fenêtre à part https://localhost:7105/Articles/MonArticle/
Alors j'ai fourni une id valide en dur dans son code :
'var article' se charge normalement avec toutes les données de la BdD (y compris les liens photos).
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); }
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'
6) J'ai vérifié que le nom de l'action 'MonArticle' était correctement associé à la vue 'MonArticle'
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>
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
Partager