gpt4 book ai didi

c# - 将自定义 View 对象从 Controller 传递到 View

转载 作者:太空宇宙 更新时间:2023-11-03 18:02:48 24 4
gpt4 key购买 nike

我有一个简单的问题。在我的 Controller 中,我加入两个表并返回如下:

data = ...
select new { Contacts = item, Applications = items, Answers = j }

这工作正常。我得到了我想要的:例如62 个具有我想要的属性的数据对象。

但是在 View 中我如何访问这些数据点集?

简单 @model dynamic不管用?必须有某种方法可以做到这一点。

最佳答案

最好的方法是创建一个 ViewModel,它将包含您需要在 View 中显示的所有属性。

 public class DataViewModel {
public Contacts {get;set}
public Application {get;set;}
public Answers {get;set;}
}

创建您的“DataViewModel”列表
List<DataViewModel> Datas = new List<DataViewModel>();

完成此操作后,您必须在从您通过简单地使用 foreach 循环创建的“数据”变量中获取它们之后分配 Controller 中每个元素的值。
foreach (var instance of data) {
// Assign those values here
}

您必须将数据列表(ViewModel)从您的 Controller 传递给您的 View ,如下所示:
return View(Datas);

并在您的 View 中调用您的 ViewModel 列表,如下所示:
@model IEnumerable<models.DataViewModel>

关于c# - 将自定义 View 对象从 Controller 传递到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47133665/

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