¿Es posible acceder a una propiedad de modelo en un archivo Javascript externo?¿Acceder a una propiedad de modelo en un archivo javascript?
p. Ej. En el archivo "somescript.js"
var currency = '@Model.Currency';
alert(currency);
En mi opinión
<script src="../../Scripts/somescript.js" type="text/javascript">
Esto no parece funcionar, sin embargo si pongo el código JavaScript directamente en la vista dentro etiquetas script entonces no funciona? Esto significa tener que poner el código en la página todo el tiempo en lugar de cargar el archivo de script externo como esto:
@model MyModel;
<script lang=, type=>
var currency = '@Model.Currency';
alert(currency);
</script>
¿Hay alguna forma de evitar esto?
Si se pudiera generar el archivo externo de JS entonces su navegador podría almacenar en caché los datos de vista del modelo generadas dinámicamente. Probablemente no es lo que quieres? – BritishDeveloper
Hace poco escribí sobre cómo puedes [generar archivos JavaScript externos usando vistas parciales de Razor] [blogpost]. La publicación del blog muestra cómo usar un filtro de acción personalizado para analizar el código Razor dentro de un archivo JavaScript externo. ** tl; dr: ** Sí, es posible usando una solución alternativa simple pero inteligente. [blogpost]: http://blog.mariusschulz.com/generating-external-javascript-files-using-partial-razor-views –
http://stackoverflow.com/a/41312348/2592042 He explicado en detalle aquí. –