Agradeceríamos tu ayuda para compartir nuestros posts en referencia a las ciencias de la computación.
Solución:
no puedes y la razón es que no “viven” en el mismo tiempo. Las variables de Razor son “variables del lado del servidor” y ya no existen después de que la página se envió al “lado del cliente”.
Cuando el servidor recibe una solicitud de vista, crea la vista solo con código HTML, CSS y Javascript. No queda código C#, todo se “traduce” a los idiomas del lado del cliente.
El código Javascript SÍ existe cuando la vista todavía está en el servidor, pero no tiene sentido y solo lo ejecutará el navegador (lado del cliente nuevamente).
Es por eso que puede usar variables de Razor para cambiar HTML y Javascript, pero no al revés. Intente mirar el código fuente de su página (CTRL+U en la mayoría de los navegadores), no habrá ninguna señal de código C# allí.
En breve:
-
El servidor recibe una solicitud.
-
El servidor crea o “toma” la vista, luego calcula y traduce todo el código C# que estaba incrustado en la vista a CSS, Javascript y HTML.
-
Él servidor devuelve la versión del lado del cliente de la vista al navegador como respuesta a la solicitud. (ya no hay C# en este punto)
-
el navegador representa la página y ejecuta todo el Javascript
Pero sería posible si se usara uno en lugar de la variable en el campo @html.Hidden. Como en este ejemplo.
@Html.Hidden("myVar", 0);
establecer el campo por secuencia de comandos:
Espero al menos poder ofrecer una solución alternativa no pequeña.
Calificaciones y comentarios
Si te apasiona la programación, tienes la opción de dejar un escrito acerca de qué te ha parecido esta reseña.