2013-02-11 14 views
7

Sto osservando il feedback sul modo migliore e più semplice per passare variabili lato server da un'azione controller al markup html del sito e per essere poi utilizzate da javascript nel sito.passando le variabili mvc lato server a javascript

Sto lavorando con asp.net mvc4 e sto cercando di trovare il metodo consigliato per farlo.

+3

ricerca di Google dà tonnellate di risultati ... –

+1

@emrenevayeshirazi: Oh, che un commento utile su Stack Overflow! Sk8erPeter

risposta

19

Hai un paio di opzioni.

Uno è collegare gli attributi dei dati o gli ID agli elementi e recuperarli utilizzando javascript.

Utilizzo delle viste di rasoio:

<div id="someid" data-name="@item.attribute"></div> 

JS:

$('#someid').data('name') 

Oppure è possibile rendere i dati direttamente in un tag script.

Utilizzando rasoio:

var somevar = "@item" 

È inoltre possibile Json.Encode oggetti più complessi.

var somevar = @Html.Raw(Json.Encode(object)) 
+4

Anche per enfatizzare la risposta di Declan, se si utilizza il metodo 'var somevar =" @item ";' si DEVE avviarlo tra virgolette come ha fatto, non riuscendo a produrre un'istruzione che si legge come var 'somevar =; '. Questo può sembrare semplice per le stringhe e così via, ma è meno ovvio quando si tratta di valori nulli booleani, numeri nullable interi, ecc. –

+0

Suggerirei il primo approccio (in un tag di input nascosto o diviso) per una migliore separazione del contenuto e codice. Nel momento in cui devi introdurre un tag

Problemi correlati