Intento obtener el valor de fecha y hora del usuario y devolver la proyección seleccionada de la película. El controlador pasó la lista para ver, pero html no cambia.
controlador
public ActionResult GetScreenings() { return View(); } [HttpPost] public ActionResult GetScreenings(string starteDateTime, string endDateTime, string movieTitle) { List<ScreeningDisplayDTO> screeningsList = new List<ScreeningDisplayDTO>(); if (String.IsNullOrEmpty(movieTitle)) { screeningsList = screeningDisplayService.GetScreeningByParametr(starteDateTime, endDateTime).ToList(); } else { screeningsList = screeningDisplayService.GetScreeningByParametr(starteDateTime, endDateTime, movieTitle).ToList(); } return View(screeningsList); }Vista
@if (Model != null && Model.Count() > 0) { foreach (var screening in Model) { <p class="offer-film-title">@screening.MovieTitle</p> } }Ajax
$.ajax({ traditional: true, type: "POST", url: '@Url.Action("GetScreenings")', data: { 'starteDateTime': starteDateTime, 'endDateTime': endDateTime, 'movieTitle': movieTitle }, success: function () { window.location.href = data; } });Gracias por la ayuda.
Si desea usar ajax para cambiar su vista, debe usar una vista parcial
<div id="partialView"> <partial name="_PartialView" /> </div>y devolver esta vista parcial de la acción y renderizar:
success: function (result) { $("#partialView").html(result); }Tal vez sería más fácil para usted usar un botón de envío.