繁体   English   中英

如何从 controller 传递列表以查看和显示

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM