[英]How to pass list from controller to view and display
我尝试从用户那里获取日期时间值并返回选定的电影放映。 Controller 通过列表查看,但 html 没有改变。
控制器
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);
}
看法
@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;
}
});
感谢帮助。
如果你想使用 ajax 来改变你的视图,你必须使用局部视图
<div id="partialView">
<partial name="_PartialView" />
</div>
并从动作中返回这个局部视图并渲染:
success: function (result) {
$("#partialView").html(result);
}
也许您使用提交按钮会更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.