J'utilise une classe d'aide pour construire mon hyperlien. Le balisage ressemble à ceci:Puis-je créer un lien ActionLink via une classe Helper? Comment?
<a href='/controller/action?id=val'></a>
C'est le même balisage que le produit Html.ActionLink()
. Cependant, si j'utilise le Html.ActionLink()
, l'identifiant est accepté comme paramètre dans la méthode à l'intérieur du contrôleur. Si je viens de générer la balise a
dans une chaîne comme celle-ci, je reçois l'erreur ci-dessous lorsque je tente de définir la méthode avec un paramètre id:
The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult' ... To make a parameter optional its type should be either a reference type or a Nullable type. Parameter name: parameters
- Est-il possible d'utiliser
Html.ActionLink()
dans ma classe d'aide ? - Pourquoi y a-t-il une différence entre les deux techniques?
Voici mon action du contrôleur:
public ActionResult AssignmentAdd(int id)
{
return View();
}
il serait utile que vous avez publié le code de votre appel à l'aide de HTML, la signature de la méthode d'action du contrôleur et la configuration des routes dans glob al.asax parce que tous les trois sont liés. Aussi le message d'erreur/exception que vous obtenez. –
Pouvons-nous voir l'action de votre contrôleur? – Gregoire