编译程序时出现此错误:
'了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; }
}
答案 0 :(得分:3)
在你的剃刀代码中查看这一行。
<td>@item.Wierszes.WIE_Ilosc</td>
但是根据您的类定义,Wierszes
类上的Faktury
属性是集合类型(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>
}