Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

182
Vistas
How to connect ajax jQuery result to C# variable

I'm new to C#, JS, jQuery, etc. For a schoolproject I'm building a cinema-website with ASP.NET and C#.
I have come to the point that I think I'm close to the answer, but I can't figure it out.

What is the problem?
At the Index-page of the website the customer can pick a movie to go to the next screen to buy the tickets. There he needs to pick a moment of the movie from a dropdownmenu. The dropdownmenu-code looks like this:

<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>

I've created a jQuery function that gets the picked Showtime from the dropdownmenu.
This function looks like this:

<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>

In the controller I wrote a function to get the picked Showtime object from the database:

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

   return Json(show);
}

I used this code: $('#testShowtime').text(response) in my jQuery to test the function in my View with: <h4 id="testShowtime"></h4>. It works. It gives a Array back to the View, like:

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

GREAT! The function seems to work. But what I want to do now is to get the Object from this Json-string into a C# variable. If the customer selects a showtime and some tickets, a button brings them to the next page where the seatselection begins. So the variable with the picked Showtime needs to go there by clicking a button.... And now I'm stuck.

Could someone help me out of this puzzle? I'll buy you a beer :P

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can use Session variable to store your StoreTime on the server itself. AJAX is used to update a portion of the page without reloading the entire page and in your case, you are unnecessarily complicating things. You can do the following:

In your method, define a Session variable which is always updated when the user selects from the dropdown:

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

   if(show != null)
   {
     Session["myCurrentShow"] = show;
   }

   return Json(show);
}

Now once your Session is defined, you can access it on your next ActionMethod. I am giving an example how you would use this Session variable on your last step:

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda