Каков лучший способ перемещать параметры в метод get в webapi посредством $ .getJSON?

Хорошие у меня есть сомнение как делать это лучшим способом:

У меня есть метод GET во мне controller что получает 3 параметра:

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

В моем виде у меня есть эти доступные параметры во мне ViewBag, есть какой-то чистый способ перемещать их как параметры в $.getJSON для того, чтобы он взялся за то, чтобы выполнять призыв к моему методу ?

он был бы должен находить вас в как hidden чтобы получать их посредством $("#idLocal").val() например?

Только я могу работать с объектами DOM ?

4
задан 18.01.2016, 19:54
2 ответа

Если данные находятся в ViewBag и не будут меняться ты мог бы распределять это в переменные, которые вооружает json. Такие

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

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

Как края ты вооружаешь json, что ты послал бы как дата $ .getJSON


, Если код эта клиентка в .js, отделенном в view ты определяешь линии

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

тогда внутри .js, просто соглашаешься на переменные, так как эти глобальные

2
ответ дан 24.11.2019, 14:59
  • 1
    очень хорошая, и #191; но это функционирует вне cshtml? я понимаю, что нет. –  Alan 18.01.2016, 19:11
  • 2
    просвет, код, который я поместил, - jquery, выполняет стороны клиента. cshtml - view стороны сервера, когда даже не renderiza –  Leandro Tuttini 18.01.2016, 19:32
  • 3
    то, что я хочу сказать тебе, что это не est и # 225; функционируя, он не признает viewbag внутри рукописного шрифта, не est и # 225; заменяя из-за соответствующей стоимости, которую он содержит. –  Alan 18.01.2016, 19:55
  • 4
    @Alan, что Леандро, как кажется, quizo объяснять состоит в том, что твой рукописный шрифт должен быть включенным внутри вида в файл cshtml как рукописный шрифт inline не как отдельный файл. razor - достаточно умное как чтобы видеть s и # 237; mbolo и заменять соответствующую стоимость предполагая, что был один –  devconcept 18.01.2016, 21:11
  • 5
    Я ограничиваю что-то... @Alan используй признак маршрута и я определил и # 243; таким образом маршрут / унифицированный указатель ресурса api " api/Visita / {idCompania} / {idLocal} / {дата} " из-за чего он был бы должен " вооружать manualmente" цепь laurl и не перемещать параметры как простой param метода getJSON –  Jose A. Fernandez 18.01.2016, 22:15

Ты не нуждаешься в том, чтобы использовать поля hidden, ты мог бы использовать унифицированный указатель ресурса браузера, чтобы получать их (так как они доступны в маршруте):

var datos = window.location.pathname.split("/");
var idCompania = datos[datos.length - 3];
var idLocal = datos[datos.length - 2];
var fecha = datos[datos.length - 1];

Ясно, что это решение только javascript.

1
ответ дан 24.11.2019, 14:59

Теги

Похожие вопросы