Per fare questo il tuo Il file JavaScript dovrebbe essere pre-elaborato sul lato server. Essenzialmente, sarebbe diventare una visualizzazione ASP.NET di qualche tipo e i tag script
che fanno riferimento al file farebbero essenzialmente riferimento a un'azione del controller che risponde con tale visualizzazione.
Sembra una lattina di worm che non vuoi aprire.
Poiché JavaScript è lato client, perché non impostare semplicemente il valore su un elemento lato client e interagire con JavaScript. È forse un ulteriore passo verso l'indirezione, ma sembra molto meno un mal di testa che creare una vista JavaScript.
Qualcosa di simile a questo:
<script type="text/javascript">
var someValue = @ViewBag.someValue
</script>
Poi il file JavaScript esterno può fare riferimento alla variabile someValue
JavaScript nell'ambito di applicazione di tale documento.
O anche:
<input type="hidden" id="someValue" value="@ViewBag.someValue" />
Quindi è possibile accedere a tale input nascosto.
A meno che non venga in mente un modo davvero efficace per rendere il file JavaScript utilizzabile come vista. È certamente fattibile, e non riesco a trovare prontamente pensare a qualsiasi problema avessi (diverso dal brutto codice di visualizzazione dato che il motore di visualizzazione otterrà molto confuso su cosa sia JavaScript e cos'è Razor ... quindi aspettati un ton di <text>
markup), quindi se si trova un modo perfetto per farlo sarebbe bello, anche se forse non intuitivo per qualcuno che ha bisogno di supportare il codice in seguito.
Ho fatto una domanda simile prima, spero che ti aiuti. http://stackoverflow.com/questions/10036903/is-it-better-to-use-embedded-javascript-or-a-separate-js-file-in-an-mvc3-view –
The tl; dr of it è: utilizzare gli attributi dei dati per impostare i valori nella vista, quindi utilizzare jQuery per accedere a tali attributi di dati sul file .JS separato. –