Je rencontre des problèmes lors de la création d'un lien ActionLink à l'aide de Preview 5. Tous les documents que je peux trouver décrivent l'ancienne version générique.Comment puis-je créer ce lien d'action?
Je construis des liens sur une liste de travaux sur la page/les travaux. Chaque travail a un guid, et je voudrais construire un lien vers/jobs/details/{guid} afin que je puisse montrer des détails sur le travail. Mon contrôleur d'emplois a un contrôleur d'index et un contrôleur de détails. Le contrôleur Details prend un guid. J'ai essayé ceci
<%= Html.ActionLink(job.Name, "Details", job.JobId); %>
Cependant, cela me donne l'URL "/ jobs/details". Qu'est-ce que j'oublie ici?
Résolu, avec votre aide.
Route (ajouté avant le fourre-tout trajet):
routes.Add(new Route("Jobs/Details/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new
{
controller = "Jobs",
action = "Details",
id = new Guid()
}
});
lien Action:
<%= Html.ActionLink(job.Name, "Details", new { id = job.JobId }) %>
Résultats dans l'ancre html:
http://localhost:3570/WebsiteAdministration/Details?id=2db8cee5-3c56-4861-aae9-a34546ee2113
Donc, ses routes confuses. J'ai déplacé ma définition d'itinéraire de travaux avant l'admin de site Web et cela fonctionne maintenant. Évidemment, mes définitions de route SUCK. J'ai besoin de lire plus d'exemples.
Une note de côté, mes liens ne s'affichaient pas, et les quickwatches ne fonctionnaient pas (impossible d'observer une expression avec un type anonyme), ce qui rendait beaucoup plus difficile de comprendre ce qui se passait ici. Il s'est avéré que les liens d'action ne s'affichaient pas à cause d'une faute de frappe très mineure:
<% Html.ActionLink(job.Name, "Details", new { id = job.JobId })%>
Ça va me ramener.
Aah, "magie". Je vais essayer dans la matinée. – Will
Les routes ont joué un rôle. Merci de votre aide. – Will