Vista :
<select id="count" name="count" class="form-control"> <option value="0">Choose</option> <option value="2">two</option> <option value="3">three</option> <option value="4">four</option> <option value="5">five</option> </select>jquery:
<script> $("#count").change(function () { let count = $("#count :selected").val(); if (count != 0) { $.getJSON("/AdminPanel/Poll/Create/" + count); } }); </script>Controlador :
public IActionResult Create(int id) { ViewBag.Count = id; return View(); }¿Cómo se puede enviar valor como Viewbag para ver desde el controlador?
Quiero usar en bucle... en la página de afeitar
no puedes Lo que recomendaría es tener un método de acción separado:
public IActionResult Create(int id) { return Json(new { count = id }); }Y luego en la solicitud GET:
$("#count").change(function () { let count = $("#count :selected").val(); if (count != 0) { $.getJSON("/AdminPanel/Poll/Create/" + count, function(d) { $("#count").val(d.count); }); } });Básicamente, sincroniza los dos resultados actualizando el servidor y actualizando la interfaz de usuario en el cliente. ViewBag no se reconoce en la devolución de llamada de JavaScript, pero puede devolver lo que quiera y luego realizar la actualización en JS. Puede devolver una vista parcial para reemplazar parte de la página HTML, por ejemplo.