¿Cuál es la mejor forma de pasar parámetros a método get en webapi mediante $.getJSON?

publicado por: Anonymous

Buenas tengo una duda de como hacer esto de la mejor manera:

Tengo un método GET en mi controller que recibe 3 parámetros:

    [Route("api/Visita/{idCompania}/{idLocal}/{fecha}")]
    public Visita Get(short idCompania, short idLocal, string fecha)

En mi vista tengo estos parámetros disponibles en mi ViewBag, ¿hay alguna forma limpia de pasarlos como parámetros a $.getJSON para que él se encargue de ejecutar la llamada a mi método ?

¿debería ubicaros en como hidden para obtenerlos mediante $("#idLocal").val() por ejemplo?

Solo puedo interactuar con objetos del DOM ?

solución

Si los datos estan en el ViewBag y no van a cambiar podrias asignarlo a variables que arma el json.

<script>
  $(function() {
      var params= {
         idCompania: '@ViewBag.idCompania',
         idLocal: '@ViewBag.idLocal',
         fecha: '@ViewBag.fecha'
      };

      $.getJSON('api/Visita', params, function(data){ 
           //codigo
      });
   });
</script>

Como veras armas el json que enviarias como data del $.getJSON


Si el codigo cliente esta en un .js separado en la view defines las lineas

 <script>
   var idCompania= '@ViewBag.idCompania';
   var idLocal= '@ViewBag.idLocal';
   var fecha= '@ViewBag.fecha';
</script>

entonces dentro del .js simplemente accedes a las variables ya que estas son globales

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *