asp.net-mvc - 传入字典的模型项的类型为“System.Collections.Generic.List`1[DB_Payment.Models.GetInvoice]”
问题描述
在 C# MVC 应用程序中出现错误:
传入字典的模型项的类型为“System.Collections.Generic.List`1[DB_Payment.Models.GetInvoice]”,但此字典需要“DB_Payment.Models.GetInvoice”类型的模型项。
控制器:
List<DB_Payment.Models.GetInvoice> Items = new List<DB_Payment.Models.GetInvoice>();
DataSet ds = new DataSet();
ds = GetItems(customer_code);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
var chk = new GetInvoice();
chk.customer_code = dr["customer_code"].ToString();
chk.Date_Due = dr["Date_Due"].ToString();
chk.amount = dr["amount"].ToString();
chk.amt_paid = dr["amt_paid"].ToString();
Items.Add(chk);
}
}
return View(Items);
查看代码:
@model IEnumerable<DB_Payment.Models.GetInvoice>
@using GridMvc.Html
@using System.Web.Mvc.Ajax
@{
ViewBag.Title = "grid";
WebGrid grid = new WebGrid(Model, rowsPerPage: 100);
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-sm-6">
<h4 class="card-title mb-4">Inventory</h4>
</div>
</div>
<div id="webgrid">
@Html.Grid(Model).Columns(columns =>
{
columns.Add(m => m.customer_code).Titled("customer_code");
columns.Add(m => m.Date_Due).Titled("Date_Due");
columns.Add(m => m.amount).Titled("Amount");
columns.Add(m => m.amt_paid).Titled("Amt_Paid");
}
)
</div>
</div>
</div>
</div>
</div>
有人可以帮忙吗?
解决方案
在视图中,将行从 @model IEnumerable<DB_Payment.Models.GetInvoice> 更改为 @model List<DB_Payment.Models.GetInvoice>
推荐阅读
- wordpress - 预计下一件事是转义功能:WordPress
- sql-server - 将大型 SQL Server 表从一个数据库移动到另一个数据库的最佳方法?
- javascript - 如何在 tizen tv 网络应用程序中安全地存储密钥?
- spring-boot - 在 Spring JPA 中,我们如何获取对 XML 文件或 bean.xml 的查询(如 ibatis)?
- angular - defer() 不会对页面刷新产生影响
- powershell - PowerShell 比较输出
- python - 从 oauth2client.service_account 导入 ServiceAccountCredentials 时语法无效
- mysql - 在大型更新时从 mysql 触发器向 gearman 发送作业
- restructuredtext - 在 reStructuredText 中使用标签
- android - 在华为 P30 上使用 Intent 打开 App Launch