2011-04-29 4 views
2

Je sais qu'il est possible d'intégrer @Html dans Javascript dans MVC3, mais je ne peux pas obtenir ce qui suit pour travailler et je ne sais pas si c'est encore possible. En utilisant jQuery DataTable, j'ai un appel AJAX pour créer ma nouvelle ligne, puis je l'ajoute par programmation en utilisant l'API datatable. Tout cela fonctionne, mais ensuite je veux mettre mon Edit ActionLink sur la ligne et il apparaît seulement avec le texte "Edit", pas le lien.Intégrer Html.ActionLink dans Javascript dans Razor

Bien sûr, je pourrais le faire manuellement, je me demandais simplement s'il y avait une meilleure option.

par exemple. J'ai un ID codé en dur pour le moment, mais je peux facilement obtenir ceci pour la ligne nouvellement créée.

Merci Duncan

Répondre

9

Je pense que c'est une simple que d'ajouter des guillemets autour du lien:

var result = '@Html.ActionLink("Edit", "EditPallet", new { id = 1 })'; 

Cela va générer toute étiquette <a>. Qu'est-ce que vous pourriez faire comme il est bien juste retour l'url:

var result = '@Url.Action("EditPallet", new { id = 1 })'; 

et l'intégrer dans un point d'ancrage existant en utilisant jQuery:

<!-- let's imagine this already exists --> 
<a href="#" id="dynamicLink">Edit</a> 

// result is ovbiously what the other function returns 
$("#dynamicLink").attr("href", result); 
+2

Vous avez raison .... Je pensais que si je mets Les citations qui l'entourent seraient interprétées comme une chaîne littérale .... encore nouvelle pour MVC3 et il me surprend toujours ce qu'il peut faire. Je ne peux pas me voir faire une autre application WebForms! – Duncan

+1

@Duncan - Je sais ce que tu veux dire, même ici =) –

Questions connexes