编译程序时出现以下错误:
'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>
但是根据您的类定义,
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>
}
关于c# - 显示 View 时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38253171/