Javascript 如何将列表从控制器传递到视图和显示
我尝试从用户处获取datetime值并返回选定的电影放映。 控制器将列表传递给视图,但html不会更改 控制器Javascript 如何将列表从控制器传递到视图和显示,javascript,c#,ajax,asp.net-mvc,Javascript,C#,Ajax,Asp.net Mvc,我尝试从用户处获取datetime值并返回选定的电影放映。 控制器将列表传递给视图,但html不会更改 控制器 public ActionResult GetScreenings() { return View(); } [HttpPost] public ActionResult GetScreenings(string starteDateTime, string endDateTime, str
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);
}
谢谢您的帮助。如果您想使用ajax更改视图,必须使用局部视图
<div id="partialView">
<partial name="_PartialView" />
</div>
也许使用“提交”按钮会更方便。我有“提交”按钮。我不得不加上e.preventDefault();对于我的点击事件,现在一切正常。单击“提交”按钮后的较早时间,控制器会导致“获取”操作而不是“发布”。我不知道为什么。我建议您也使用stopImmediatePropagation()-$(文档)。在(“单击”,“提交”,函数(e){e.preventDefault();e.stopImmediatePropagation();}
$.ajax({
traditional: true,
type: "POST",
url: '@Url.Action("GetScreenings")',
data: { 'starteDateTime': starteDateTime, 'endDateTime': endDateTime, 'movieTitle': movieTitle },
success: function () {
window.location.href = data;
}
});
<div id="partialView">
<partial name="_PartialView" />
</div>
success: function (result) {
$("#partialView").html(result);
}