-1
je suis Tring d'avoir des liens lien vers cette /Afficher/test il ne fonctionne que si elle est int comme/Afficher/1Comment envoyer string id au contrôleur en utilisant ActionLink
mon lien d'action vue
@Html.ActionLink(item.className, "Viewe", "subject", new {id =item.className },null)
mon action de contrôle
public ViewResult Viewe(string id)
{
//some database
return View();
}
je reçois cette erreur Server Error in '/' Application.
si je change l'id en tout chose qu'il fonctionne très bien, mais la volonté de lien ressemble ceci: Voir tout = par
image de l'erreur
Code de la route
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Vérifiez votre fichier ** Route.Config ** sous * * App_Start **. vous trouverez un extrait de code qui gère l'itinéraire. Par défaut, il accepte 'controller/action/id'. Afin d'accepter "n'importe quoi" comme param et former une URL conviviale, vous devez créer un itinéraire personnalisé et remplacer "id" param avec "n'importe quoi". – Prabhat
je ai toujours le même problème je ne me soucie pas si j'utilise param comme "id" ou "quoi que ce soit", id est bon pour moi mais j'ai toujours la même erreur –
Ne pas utiliser le nom d'action 'View', vous êtes cacher la version sans paramètre de la méthode du contrôleur 'View' qui va essayer de trouver un fichier' .cshtml' avec le nom correspondant de l'action. Vous pouvez faire de la façon suivante: '[ActionName (" View ")] public ViewResult ViewAction (ID de chaîne)' –