EDIT
non crei le necessarie risorse localizzate a un oggetto JavaScript (hash) e poi utilizzarlo per la ricerca per gli oggetti creati in modo dinamico. Penso che sia meglio che tornare al server per le traduzioni. Questo è simile ad aggiungerlo tramite viewdata, ma potrebbe essere un po 'più flessibile. FWIW, potrei considerare le risorse di localizzazione come parte della vista, non parte del controller.
Nella Vista:
<script type="text/javascript"
src='<%= Url.Content("~/Resources/Load?translate=Close,Open" %>'></script>
che sarebbe uscita una cosa del genere:
var local = {};
local.Close = "Close";
local.Open = "Open";
Senza argomenti sarebbe uscita l'intera hash traduzione. L'utilizzo degli argomenti ti dà la possibilità di personalizzarlo per visualizzazione.
Si potrebbe quindi utilizzare nelle vostre file JavaScript come:
$(function(){
$('#button').click(function() {
$("<img src=... title='" + local.Close + "' />")
.appendTo("#someDiv")
.click(function() { ... });
});
});
In realtà, io non sono troppo coccolato di mantenere il mio codice JavaScript dalle mie vedute fino a quando il codice JavaScript è localizzato in un contenitore . In genere imposterò la mia pagina master con 4 aree di contenuto: titolo, intestazione, main e script. Titolo, intestazione e main vanno dove ti aspetteresti e l'area degli script va nella parte inferiore del corpo.
Inserisco tutti i miei JavaScript inclusi, inclusi quelli per viewusercontrols, nel contenitore degli script. Il codice JavaScript specifico della vista viene dopo gli include. Rifaccio il codice condiviso di nuovo agli script, se necessario. Ho pensato di utilizzare un metodo di controllo per la raccolta di script include, cioè, includere più script utilizzando una singola richiesta, ma non ci siamo ancora riusciti.
Questo ha il vantaggio di mantenere separato il codice JavaScript per la leggibilità, ma consente anche di iniettare facilmente il modello o visualizzare i dati nel codice JavaScript, se necessario.
"Voglio javascript per essere separato dal punti di vista." == "Anche una buona pratica per mantenere il tuo javascript separato dal tuo mark up.". <= e questo è il problema del perché <%= foo %> non funzionerà. –
Btw, perché è preferibile associare il gestore onclick su JS onload? –
Mi è mancata la parte "generata da JS" della tua domanda - è stata appena scansionata. In questo caso, prenderei in considerazione la scrittura dei dati localizzati sulla vista e il javascript che lo carica da un oggetto locale. Riscriverà – tvanfosson