ASP.Net MVC Html.ActionLink() J'utilise la version bêta de MVC pour écrire une application simple à comprendre ASP.Net MVC. L'application est un simple site de partage de photos/vidéos avec marquage. Je travaille sur le projet MVC skeleton. J'ai ajouté quelques Html.ActionLink() à la barre de navigation, mais j'ai un problème avec l'un des Html.ActionLink() que j'ai ajouté en un seul endroit.problèmes
Je veux ~/tags pour afficher tous les tags de la base de données et je veux ~/tags/{tag} pour afficher une liste de tous les fichiers qui sont marqués avec {tag}. Cela fonctionne comme prévu, mais quand je suis un ~/Tags/{tag}, il change le Html.ActionLink() dans la barre de navigation pour être le même que le lien ~/Tags/{tag} au lieu de pointer vers ~ /Mots clés. Je ne comprends pas pourquoi le lien ActionLink() dans ma barre de navigation change lorsque je suis le ~/Tags/{tag}. Si je navigue vers un lien différent dans le projet, le lien ActionLink() fonctionne comme prévu.
J'ai la ActionLink et l'itinéraire mis en place comme celui-ci. Mon TagsController a cette action Index. L'int? est pour un contrôle de pagination. J'ai deux vues, une appelée Tous et une appelée Détails. Qu'est-ce que je fais mal?
Html.ActionLink("Tags", "Index", "Tags") // In navigation bar
routes.MapRoute(
"Tags",
"Tags/{tag}",
new
{
controller = "Tags", action = "Index", tag = "",
});
public ActionResult Index(string tag, int? id)
{ // short pseudocode
If (tag == "")
return View("All", model)
else
return View("Details", model)
}
travaillé comme un charme. Votre réponse m'a donné un moment d'a-ha pour le routage. Merci! –
Génial! Heureux d'avoir pu aider! –