Je travaille sur une application MVC3. J'ai une certaine logique à mon avis que je veux passer à mon contrôleur. Il affiche dynamiquement un lien ActionLink en fonction de certains aspects du modèle. Les paramètres linkText et actionName pour Html.ActionLink sont la seule chose qui peut différer. J'ai ajouté une méthode pour mon contrôleur qui retourne une JsonResult avec des cordes pour linkText et actionName:Dynamic ActionLink de JsonResult?
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetActionButton(int id)
{
string action = null;
string text = null;
// Snipped stuff that sets action and text
return Json(new
{
buttonAction = action,
buttonText = text
});
}
Où pourrais-je appeler cette méthode pour créer le lien en utilisant les résultats?
est cette méthode appelée par ajax, ou utilisé côté serveur dans une vue, ou les deux? – MrOBrian
@MrOBrian - c'est ce que j'essaie de comprendre - je ne sais pas où le bon endroit pour l'appeler est de pouvoir référencer ses résultats lors de la création du lien. –
Eh bien, puisqu'il s'agit d'un JsonResult, je suppose que vous l'appelez via ajax à partir du client, mais vous avez mentionné vouloir déplacer une certaine logique de la vue vers le contrôleur pour Html.ActionLink, qui serait sur le serveur. Si les liens sont différents selon le modèle, vous voudrez probablement tout faire côté serveur et ne pas utiliser json, mais si les liens changent en fonction de quelque chose qui se passe sur le client, alors vous voudrez utiliser ajax pour retourner un résultat JSON. – MrOBrian