gpt4 book ai didi

c# - 在一个 Controller 中使用两个模型?

转载 作者:行者123 更新时间:2023-11-30 19:28:03 26 4
gpt4 key购买 nike

我目前有一个带有主页的应用程序,该主页根据电影“创建”或输入数据库的日期显示了十部电影的列表。我还想根据每部电影的评分显示前十名电影的列表。有没有办法传入另一个模型或更改我当前的 ViewModel 来执行此操作?这是我的家庭 Controller 的索引部分:

    public ActionResult Index()
{
var model =
_db.Movies
.OrderByDescending(m => m.DateEntered)
.Take(10)
.Select(m => new MovieListViewModel
{
Id = m.Id,
Title = m.Title,
Genre = m.Genre,
ReleaseDate = m.ReleaseDate,
CountOfReviews = m.Reviews.Count()
});

return View(model);

}

传入的 ViewModel:

public class MovieListViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public string Genre { get; set; }

[Display(Name="Year Released")]
public DateTime ReleaseDate { get; set; }
public int CountOfReviews { get; set; }
}

最佳答案

创建包含两个列表的模型:

public class MovieListViewModel
{
public List<MovieModel> Top10ByCreated { get; set; }
public List<MovieModel> Top10ByRating { get; set; }
}

public class MovieModel
{
public int Id { get; set; }
public string Title { get; set; }
public string Genre { get; set; }

[Display(Name="Year Released")]
public DateTime ReleaseDate { get; set; }
public int CountOfReviews { get; set; }
}

然后在你的 Controller 中:

var model = new MovieListViewModel();

model.Top10ByCreated = ...
model.Top10ByRating = ...

return View(model);

在您的 View 中,使用 MovieListViewModel 作为您的模型,并根据需要使用您的两个列表。

关于c# - 在一个 Controller 中使用两个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16741870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com