2012-07-02 1 views
29

Est-ce possible?en utilisant javascript variable dans le moteur de vue MVC3 Razor

@Html.ActionLink("Link text", "Action Name", new { id = *JAVASCRIPT VARIABLE* }) 

Veuillez expliquer avec un exemple de code.

+0

Non, il est impossible. Qu'est-ce que vous essayez de faire exactement? –

+1

En fait, j'ai besoin de passer un paramètre que je reçois de javascript. Comment puis-je résoudre mon problème. –

Répondre

15

Non, il est impossible, parce que .NET MVC 3 est le code côté serveur et est évalué avant d'être envoyé au client, et javascript est le code côté client qui ne fonctionne que lorsqu'il est sur le client

mais le inverse est possible:

var jsVar = "@yourMvcVar"; 
+5

il est possible avec certains travaux autour de .. voir ma réponse – krilovich

73

Il est en fait très bien avec les éléments suivants:

var hello = "Great Job!"; 

var text = "@Html.ActionLink("Link text", "Action Name", new { id = "JSVar" })" 
text = text.replace("JSVar",hello); 

Aussi facile que ça! :)

Tout le lien @ Html.Action de fait est de créer une chaîne d'URL afin de faire remplacer à ce sujet est le même que remplacer sur une chaîne javascript

+5

Bonne solution de contournement! Assurez-vous que le code de remplacement est robuste, peut-être adopter une chaîne. Approche de type format: 'var text =" @ Html.ActionLink ("Texte du lien", "Nom de l'action", nouveau {id = "{0}"}) "; 'n'est pas sûr que le {0} fonctionnera dans cette aide, mais vous obtenez ma dérive –

+4

J'accepterais cette réponse au lieu de celle acceptée maintenant. –

Questions connexes