Saltar al contenido

¿Es posible acceder al objeto MVC ViewBag desde un archivo Javascript?

Te doy la bienvenida a nuestro sitio web, en este sitio encontrarás la respuesta de lo que buscas.

Solución:

No creo que haya actualmente ninguna manera de hacer esto. El motor de Razor no analiza los archivos Javascript, solo las vistas de Razor. Sin embargo, puede lograr lo que desea configurando las variables dentro de su vista de Razor:




Como Joe señala en los comentarios, el string el valor anterior se romperá si hay una comilla simple en él. Si desea hacer esto completamente revestido de hierro, deberá reemplazar todas las comillas simples con comillas simples con escape. El problema es que, de repente, las barras se convierten en un problema. Por ejemplo, si su string es “foo ' bar“, y reemplazas la comilla simple, lo que saldrá es “foo \' bar“, y volverá al mismo problema. (Esta es la vieja dificultad de la codificación encadenada). La mejor manera de manejar esto es tratar las barras invertidas y las comillas como especiales y asegurarse de que estén todos escapado:

  @
      var safeStringValue = ViewBag.someStringValue
          .Replace("\", "\\")
          .Replace("'", "\'");
  
  var someStringValue = '@(safeStringValue)';

No en un archivo JavaScript, no.
Su archivo JavaScript podría contener una clase y podría instanciar una nueva instancia de esa clase en la Vista, luego puede pasar ViewBag valores en el constructor de la clase.

O si no es una clase, su única otra alternativa es usar data attributes en sus elementos HTML, asígnelos a propiedades en su Vista y recupérelos en el archivo JS.

Suponiendo que tuvieras esta entrada:


Luego, en su archivo JS, puede obtenerlo usando:

var myVal = $("#myInput").data("myValue");

en html:


en Guión:

var customVal = $("#customInput").data("value");

Te mostramos reseñas y puntuaciones

Si estás contento con lo expuesto, tienes la opción de dejar una reseña acerca de qué te ha impresionado de esta reseña.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *