显示视图时出错
本文关键字:出错 视图 显示 | 更新日期: 2023-09-27 17:55:41
当我编译我的程序时,我遇到了这个错误:
"System.Collections.Generic.ICollection"不会 包含"WIE_Ilosc"的定义,没有扩展方法 "WIE_Ilosc"接受类型的第一个参数 "System.Collections.Generic.ICollection"可以是 找到(是否缺少 using 指令或程序集引用?
我必须在代码中更改哪些内容才能使其正常工作?
我的观点:
@model List<Webb.Models.Faktury>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Faktura VAT</h2>
<p>
Oryginal</p>
<table width="100%">
<tr>
<td>ID</td>
<td>Data S.</td>
<td>Numer</td>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.FAK_Id</td>
<td>@item.FAK_DataS</td>
<td>@item.Firma.FIR_Rachunek</td>
<td>@item.Wierszes.WIE_Ilosc</td>
</tr>
}
</table>
</body>
</html>
我的控制器:
public ActionResult Reports(int? id)
{
// Setup sample model
var pro = (from a in db.Fakturies
join b in db.Wierszes on a.FAK_Id equals b.WIE_Fkid
join c in db.Produkties on b.WIE_Pid equals c.PRO_Id
select a);
pro = pro.Where(a => a.FAK_Id == id);
if (Request.QueryString["format"] == "pdf")
return new PdfResult(pro.ToList(), "Reports");
return View(pro);
}
部分型号:
public Faktury()
{
this.Wierszes = new HashSet<Wiersze>();
}
.
.
.
.
public virtual ICollection<Wiersze> Wierszes { get; set; }
public virtual Firma Firma { get; set; }
public virtual Klienci Klienci { get; set; }
public virtual Statusy Statusy { get; set; }
}
查看剃须刀代码中的这一行。
<td>@item.Wierszes.WIE_Ilosc</td>
但根据您的类定义,Faktury
类Wierszes
属性是集合类型 ( ICollection<Wiersze>
)。在您看来,您正在尝试访问集合上的WIE_Ilosc
属性!
如果要显示所有 Wiersze,则应再次循环遍历它们并渲染它。
@foreach (var item in Model)
{
<tr>
<td>@item.FAK_Id</td>
<td>@item.FAK_DataS</td>
<td>
@if(item.Wierszes!=null)
{
foreach(var v in item.Wierszes)
{
<span>@v.WIE_Ilosc</span>
}
}
</td>
</tr>
}