Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
Cómo conectar el resultado de ajax jQuery a la variable C#

Soy nuevo en C#, JS, jQuery, etc. Para un proyecto escolar, estoy creando un sitio web de cine con ASP.NET y C#.
He llegado al punto en que creo que estoy cerca de la respuesta, pero no puedo resolverlo.

¿Cuál es el problema?
En la página de índice del sitio web, el cliente puede elegir una película para pasar a la siguiente pantalla y comprar las entradas. Allí necesita elegir un momento de la película de un menú desplegable. El código del menú desplegable se ve así:

 <div class="form-group" style="width: 30%"> @Html.LabelFor(m => Model.Showtime, new { @class = "control-label col-md-2" }) <div> @Html.DropDownListFor(m => Model.Showtime!.StartAt, new SelectList(Model.ShowList, "Value", "Text"), "Select show", new { @class = "form-control", id = "showList" }) </div> </div>

Creé una función jQuery que obtiene el Showtime seleccionado del menú desplegable.
Esta función se ve así:

 <script> $("#showList").change(function() { var selectedVal = $(this).val(); $.ajax({ type: 'POST', dataType: 'JSON', url: '/Orders/GetPickedShowtime/', data: {showTimeId: selectedVal}, success: function(response) { response = JSON.stringify(response) $('#testShowtime').text(response) }, error: function(response) { console.log("ERROR: ", response) } }); }) </script>

En el controlador, escribí una función para obtener el objeto Showtime seleccionado de la base de datos:

 public ActionResult<Showtime> GetPickedShowtime(int showTimeId) { var show = _context.Showtime! .Where(s => s.Id == showTimeId); return Json(show); }

Usé este código: $('#testShowtime').text(response) en mi jQuery para probar la función en mi Vista con: <h4 id="testShowtime"></h4> . Funciona. Le devuelve una matriz a la vista, como:

[{"id":6987,"startAt":"2022-03-13T18:00:00Z","hallId":3,"movieId":1,"hall":null,"movie":null}]

¡ESTUPENDO! La función parece funcionar. Pero lo que quiero hacer ahora es obtener el Objeto de esta cadena Json en una variable de C#. Si el cliente selecciona un horario y algunas entradas, un botón lo lleva a la siguiente página donde comienza la selección de asientos. Entonces, la variable con el Showtime seleccionado debe ir allí haciendo clic en un botón... Y ahora estoy atascado.

¿Alguien podría ayudarme a resolver este rompecabezas? te invito una cerveza :P

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar la variable de Session para almacenar su StoreTime en el propio servidor. AJAX se usa para actualizar una parte de la página sin recargar toda la página y, en su caso, está complicando las cosas innecesariamente. Puedes hacer lo siguiente:

En su método, defina una variable de Session que siempre se actualice cuando el usuario seleccione del menú desplegable:

 public ActionResult<Showtime> GetPickedShowtime(int showTimeId) { var show = _context.Showtime!.Where(s => s.Id == showTimeId); if(show != null) { Session["myCurrentShow"] = show; } return Json(show); }

Ahora, una vez que se define su Session , puede acceder a ella en su próximo ActionMethod . Estoy dando un ejemplo de cómo usaría esta variable de Session en su último paso:

 public ActionResult ConfirmShowTime() { if(Session["myCurrentShow"] != null) { Showtime showtime = new Showtime(); //Cast your session here to get the values showtime = (Showtime)Session["myCurrentShow"]; } // Your logic return View(); }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!