gpt4 book ai didi

c# - 如何制作 IEnumerable 类型的 Viewmodel?

转载 作者:行者123 更新时间:2023-11-30 22:38:47 25 4
gpt4 key购买 nike

我将以下代码用于包含两个数据列表的主视图模型,

namespace trsDatabase.Models
{
public class masterViewModel
{
public IEnumerable <Customer> Customers { get; set; }
public IEnumerable <CustomerSite> CustomerSites { get; set; }
}
}

我正在使用以下代码将 veiwmodel 传递给 View ,

public ViewResult Index()
{
masterViewModel sitesModel = new masterViewModel();

return View(sitesModel);
}

然后在我看来我有以下内容,

@model IEnumerable<trsDatabase.Models.masterViewModel>

foreach (var site in customer.CustomerSites)
{
foreach (var cust in customer.Customers)
{
<tr>
<td>
@cust.CustomerName
</td>
<td>
@site.UnitNo
</td>

使用上面的代码,我能够访问 View 模型中两个列表的所有属性,但是当我导航到 View 时,我收到一个错误,因为 View 需要一个 IEnumerable。如果我将声明更改为只传递 View 模型

@model trsDatabase.Models.masterViewModel

foreach 语句将不起作用,它给出了这个错误

The model item passed into the dictionary is of type 'trsDatabase.Models.masterViewModel', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[trsDatabase.Models.masterViewModel]'.

任何人都可以提供任何建议或指出正确的方向来解决这个问题,是否可以使我的 View 模型 IEnumerable?

最佳答案

改变这个

@model IEnumerable<trsDatabase.Models.masterViewModel>

对此

@model trsDatabase.Models.masterViewModel

您传递的是 masterViewModel 的单个实例,因此您的 View 应该期望单个实例,如果不是以神秘的方式,这正是错误告诉您的内容。

关于c# - 如何制作 IEnumerable 类型的 Viewmodel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990130/

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