C# 迭代数据表会导致问题 @使用System.Data @模型IEnumerable ... @{ var dataTable=模型[0]。值; foreach(dataTable中的DataRow行) { @行[“月”] @行[“#发布”] @行[“#关闭”] @行[“%Closed”] } }
从我的控制器,我通过C# 迭代数据表会导致问题 @使用System.Data @模型IEnumerable ... @{ var dataTable=模型[0]。值; foreach(dataTable中的DataRow行) { @行[“月”] @行[“#发布”] @行[“#关闭”] @行[“%Closed”] } },c#,asp.net-core,C#,Asp.net Core,从我的控制器,我通过 @using System.Data @Model IEnumerable<ReportingTotalsViewModel> ... <tbody> @{ var dataTable = Model[0].Value;
@using System.Data
@Model IEnumerable<ReportingTotalsViewModel>
...
<tbody>
@{
var dataTable = Model[0].Value;
foreach (DataRow row in dataTable)
{
<tr>
<td>@row["Month"]</td>
<td>@row["# Issued"]</td>
<td>@row["# Closed"]</td>
<td>@row["% Closed"]</td>
</tr>
}
}
</tbody>
var viewAndDataTable=newlist();
...
返回视图(viewAndDataTable);
在运行时,我得到了这个错误
RuntimeBinderException:无法隐式转换类型
“System.Data.DataTable”改为“System.Collections.IEnumerable”。一
存在显式转换(是否缺少强制转换?)
您错过了数据表上的
。行
尝试:
@使用系统数据
@模型IEnumerable
...
@{
var dataTable=模型[0]。值;
foreach(dataTable.Rows中的DataRow行)
{
@行[“月”]
@行[“#发布”]
@行[“#关闭”]
@行[“%Closed”]
}
}
我必须使用列名吗?我可以使用索引吗?因为它是一个KeyValuePair
,所以通常最好使用Key
名称作为索引。
var viewAndDataTable = new List<KeyValuePair<String, DataTable>>();
...
return View(viewAndDataTable);
@using System.Data
@Model IEnumerable<ReportingTotalsViewModel>
...
<tbody>
@{
var dataTable = Model[0].Value;
foreach (DataRow row in dataTable.Rows)
{
<tr>
<td>@row["Month"]</td>
<td>@row["# Issued"]</td>
<td>@row["# Closed"]</td>
<td>@row["% Closed"]</td>
</tr>
}
}
</tbody>