2011-09-09 6 views
1

J'ai un webgrid et dans ce webgrid j'ai un lien hypertexte. Lorsque l'utilisateur clique sur le lien hypertexte, je souhaite qu'il affiche une page de détails. Pour cela, j'ai une méthode 'Details' du contrôleur qui prend un argument. Mais pour une raison quelconque, l'argument est toujours nul. Où est-ce que je fais mal ?? Voici le webgrid;Problème de routage MVC

grid.Column(format: (item) => Html.ActionLink("Advert", "Details", new { id = item.Title })) 

et voici le contrôleur;

public ActionResult Details(string title) 
    { 
     var ad = (from p in dc.Advert 
        where p.Title == title 
        select new AdvertIndexViewModel() 
        { 
         Title = p.Title, 
         UserName = p.UserProfile.Name 

        }).First(); 
     return View(ad); 
    } 

Dans la méthode ci-dessus, le 'titre' est toujours nul ... !! Sera génial si quelqu'un peut m'aider à trouver l'erreur.

Répondre

1

Assurez-vous que le nom du paramètre route correspond à la méthode d'action param. Dans ce cas, title ...

Html.ActionLink("Advert", "Details", new { title = item.Title }) 
+0

:) vous avez un super oeil mec ..! à votre santé. – kandroid