Page introuvable - erreur 404 - Asp Net Mvc
Bonjour,
La vue "Détails" de mon contrôleur renvoie l'erreur 404.
Code:
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:
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:
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:
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